首页 > 解决方案 > 为什么单击按钮时不触发 Vue.js @input 事件?

问题描述

为什么单击按钮时不触发 Vue.js @input 事件?

当我直接更改count值时(单击输入元素并输入新值)alert方法被触发。

new Vue({
  el: "#app",
  data: {
    count: 0

  },
  methods: {
    add: function() {
      this.count += 1;
    },
    alert: function() {
      alert('Count has been changed!');
    }
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

<div id="app">
  <input type="text" v-model.number="count" @input="alert">
  <button @click="add">+1</button>
</div>

标签: vue.js

解决方案


alert您可以从内部方法调用add方法:

add: function() {
  this.count += 1;
  // invoke alert()
  this.alert();
}


推荐阅读