iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
Vue.js

業主說給你30天學會Vue系列 第 22

V22_直覺式理解_Vue_Directives(2)_v-on

  • 分享至 

  • xImage
  •  

V22_直覺式理解_Vue_Directives(2)_v-on

今天來再探究 v-on
參考一下W3School_Vue在v-on的說明
Vue v-on Directive
https://www.w3schools.com/vue/ref_v-on.php

先來看一下範例

<body>

<div id="app">
  <h1>v-on Example</h1>
  <div v-bind:class="{ yelClass: bgColor }">
    <p>Click the button to change background color of this DIV box.</p>
    <button v-on:click="bgColor = !bgColor">Click</button>
    <p>bgColor property: "{{ bgColor }}"</p>
  </div>
</div>

<script>
  const app = Vue.createApp({
    data() {
      return {
        bgColor: true,
        cls: "yelClass"
      };
    }
  }) 
  app.mount('#app')

</script>

<style scoped>
  .yelClass {
    background-color: rgb(255, 255, 136);
  }
  div {
    margin: 10px;
    padding: 10px;
    border: dashed black 1px;
    width: 250px;
  }
</style>  

</body>

<div v-bind:class="{ yelClass: bgColor }"> 綁定 class,
樣式是 yelClass,變數是 bgColor 初值是 true

簡約寫法是 <div :class="{ yelClass: bgColor }">
渲染後變成 <div class="yelClass">

因為看到這種寫法 :class="{ yelClass: bgColor }"
跟以往看到的不太一樣,就來測試一下

這些還有幾種測試

<div id="x1" :class="{ yelClass: bgColor }">
這是原本的設定 bgColor 是 true 或 false 設定是否要讓 yelClass 產生作用

<div id="x1" :class="cls">
這是綁定class, 變數是 cls, 數值是 yelClass

<div id="x1" :class="cls">
這是綁定class, 變數是 cls, 數值是 cls: { yelClass: false },取消 yelClass的作用
數值若是 cls: { yelClass: true },啟用 yelClass的作用

<div id="x1" class="yelClass">
這是一般沒有綁定時的寫法

接下來是
<button v-on:click="bgColor = !bgColor">Click</button>

簡約寫法是 <button @click="bgColor = !bgColor">Click</button>

當button click時 bgColor會做true及false的切換

除了 @click 的寫法

<button @click.right="bgColor = !bgColor">Click</button>
在按下滑鼠右鍵時,才會有作用


上一篇
V21_直覺式理解_Vue_Directives(1)_v-bind
下一篇
V23_Vue的provide_inject_父元件傳資料給子元件
系列文
業主說給你30天學會Vue31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言