Vue事件處理器

也就是關(guān)于如何利用vue為元素綁定事件。
如下
利用v-on為元素綁定事件。之后緊跟事件,再之后就是一個方法名,或者直接是整個方法(簡單的話)。

觸發(fā)一個表達(dá)式

<div id="app">
  <button v-on:click="counter += 1">增加 1</button>
  <p>這個按鈕被點(diǎn)擊了 {{ counter }} 次。</p>
</div>

<script>
new Vue({
  el: '#app',
  data: {
    counter:0,
 
  }
})

結(jié)果沒點(diǎn)擊一次按鈕p中的{{ counter }}代表的數(shù)字就加1.
再比如,注意格式,函數(shù)名字寫在最前面,之后冒號,之后定義函數(shù)。函數(shù)里面的內(nèi)容和js的語法是完全一樣的。

觸發(fā)一個方法函數(shù)

<div id="app">
  <button v-on:click="say('hi')">Say hi</button>
  <button v-on:click="say('what')">Say what</button>
</div>

<script>
new Vue({
  el: '#app',
  methods: {
    //在 `methods` 對象中定義方法
    say: function (xx) {
      alert(xx)
    }
  }
})

結(jié)果

image.png

如何獲取event對象?

原生js是可以獲取 event對象的,具體看這里
event對象 - 簡書
event對象 - 簡書
vue中event對象和原生js中的event對象是一樣的,各種屬性也是一樣的,比如type用來獲取事件類型,本例中是click。

<script>
var app = new Vue({
  el: '#app',
  data: {
    name: 'Vue.js'
  },
  // 在 `methods` 對象中定義方法
  methods: {
    greet: function (event) {
      // `this` 在方法里指當(dāng)前 Vue 實(shí)例
      alert('Hello ' + this.name + '!')
      // `event` 是原生 DOM 事件
      if (event) {
          alert(event.type);//type獲取事件類型
          alert(event.target);//獲得激發(fā)事件的元素
          alert(event.clientX);//獲取x軸坐標(biāo)
      }
    }
  }
})
// 也可以用 JavaScript 直接調(diào)用方法
app.greet() // -> 'Hello Vue.js!'
</script>

參考

Vue.js 事件處理器 | 菜鳥教程

事件監(jiān)聽 - Vue.js 教程 - 極客學(xué)院Wiki

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容