久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      vuejs事件監(jiān)聽怎么實(shí)現(xiàn)

      在vuejs中,可以使用“v-on”指令來(lái)實(shí)現(xiàn)事件監(jiān)聽,該指令用來(lái)綁定事件監(jiān)聽器;只需要在標(biāo)簽?zāi)0逯刑砑印皏-on:事件參數(shù)="事件處理函數(shù)"”語(yǔ)句,使用JavaScript設(shè)置觸發(fā)時(shí)需要執(zhí)行的代碼即可。

      vuejs事件監(jiān)聽怎么實(shí)現(xiàn)

      本教程操作環(huán)境:windows7系統(tǒng)、vue2.9.6版,DELL G3電腦。

      當(dāng)模板渲染完成之后,就可以進(jìn)行事件的綁定與監(jiān)聽。v-on指令用來(lái)監(jiān)聽DOM事件,通常在模板內(nèi)直接使用。

      <button v-on:click="say">Say</button>

      方法及內(nèi)聯(lián)語(yǔ)句處理器

      通過(guò)v-on綁定實(shí)力選項(xiàng)屬性methods中的方法作為事件的處理器,v-on:后參數(shù)接受所有的原生事件名稱。

          <button v-on:click = "say">Say</button>     var vm = new Vue({         el: "#app",         data: {             msg:"hello vue.js"         },         methods:{             say:function(){                 alert(this.msg);             }         }     })

      v-on縮寫形式:@。@click="say"

      v-on支持內(nèi)聯(lián)JavaScript語(yǔ)句,但僅限是一個(gè)語(yǔ)句。

          <button v-on:click = "sayFrom('from param')">Say</button>     var vm = new Vue({         el: "#app",         data: {             msg:"hello vue.js"         },         methods:{             sayFrom:function(from){                 alert(this.msg + '' + from);             }         }     })

      在直接綁定methods函數(shù)和內(nèi)聯(lián)JavaScript與居室,都有可能需要獲取原生DOM事件對(duì)象

         <button v-on:click = "showEvent">Event</button>     <button v-on:click = "showEvent($event)">event</button>    <button v-on:click = "showEvent()">Say</button>  //這樣寫獲取不到event     var vm = new Vue({         el: "#app",         methods:{             showEvent:function(event){                 console.log(event);             }         }     })

      同一個(gè)元素上可以通過(guò)v-on綁定多個(gè)相同事件函數(shù),執(zhí)行順序?yàn)轫樞驁?zhí)行。

      事件修飾符

      1、.stop:調(diào)用event.stopPropagation().

      <!-- 阻止單擊事件冒泡 --> <a v-on:click.stop="doThis"></a>

      2、.prevent:調(diào)用event.preventDefault().

          <!-- 提交事件不再重載頁(yè)面 -->     <form v-on:submit.prevent="onSubmit"></form>     <!-- 修飾符可以串聯(lián)  -->     <a v-on:click.stop.prevent="doThat"></a>     <!-- 只有修飾符 -->     <form v-on:submit.prevent></form>

      3、.caputure:使用capture模式添加事件監(jiān)聽器。

        <!-- 添加事件偵聽器時(shí)使用事件捕獲模式 -->     <div v-on:click.capture="doThis">...</div>

      4、.self:只當(dāng)事件是從監(jiān)聽元素本身觸發(fā)時(shí)才觸發(fā)調(diào)回。

         <!-- 只當(dāng)事件在該元素本身(比如不是子元素)觸發(fā)時(shí)觸發(fā)回調(diào) -->     <div v-on:click.self="doThat">...</div>

      5、.once:

       <!-- 點(diǎn)擊事件將只會(huì)觸發(fā)一次 -->     <a v-on:click.once="doThis"></a>

      使用修飾符時(shí),順序很重要;相應(yīng)的代碼會(huì)以同樣的順序產(chǎn)生。因此,用 @click.prevent.self 會(huì)阻止所有的點(diǎn)擊,而 @click.self.prevent 只會(huì)阻止元素上的點(diǎn)擊。

         //例子     var vm = new Vue({         el: '#app',         methods:{             saySelf(msg) {                 alert(msg);             }         }     });     //HTML代碼     <div v-on:click="say('click from inner')" v-on:click.self="saySelf('click from self')">         <button v-on:click="saySelf('button click')">button</button>         <button v-on:click.stop="saySelf('just button click')">button</button>     </div>

      鍵值修飾符

      在監(jiān)聽鍵盤事件時(shí),需要監(jiān)測(cè)常見的鍵值。

          <input v-on:keyup.13 = "submit" />  //監(jiān)聽input的輸入,當(dāng)輸入回車時(shí)觸發(fā)submit函數(shù)。

      記住所有的keyCide比較困難,所以Vue為最常用的按鍵提供了別名。

          <!-- 同上 -->     <input v-on:keyup.enter="submit">     <!-- 縮寫語(yǔ)法 -->     <input @keyup.enter="submit">

      .enter
      .tab
      .delete(捕獲“刪除”和“退格”鍵)
      .esc
      .space
      .up
      .down
      .left
      .right
      可以通過(guò)全局config.keyCodes對(duì)象自定義鍵值修飾符別名

          // 可以使用 v-on:keyup.f1     Vue.config.keyCodes.f1 = 112

      與傳統(tǒng)事件綁定的區(qū)別

      1.無(wú)需手動(dòng)管理事件。ViewModel被銷毀時(shí),所有的事件處理器都會(huì)自動(dòng)被刪除,讓我們從獲取DOM綁定事件然后在特定情況下再解綁這樣的事情中解脫出來(lái)。

      2.解耦。ViewModel代碼是純粹的邏輯代碼,和DOM無(wú)關(guān),有利于我們寫自動(dòng)化測(cè)試用例。

      vue.extend()

      為了重復(fù)使用的子組件,vue.js提供了Vue.extend(options)方法,創(chuàng)建基礎(chǔ)Vue構(gòu)造器的“子類”,參數(shù)options對(duì)象和直接聲明Vue實(shí)例參數(shù)對(duì)象基本一致。

          var Child = Vue.extend({         teplate:'#child', //不同的是,el和data選項(xiàng)需要通過(guò)函數(shù)返回值賦值,避免多個(gè)組件實(shí)例共用一個(gè)數(shù)據(jù)         data:function(){             return {                 ...             }         },         ...     })     Vue.component('child',child)  //全局注冊(cè)子組件     <child ...></child>  //子組件在其他組件內(nèi)的調(diào)用方式

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)