vue.js - 以编程方式更改@click 方法的值

标签 vue.js vuejs2

这是一个带有 @click 处理程序的元素:

<button @click="doSomething">doSomething</button>

在这个元素中,我们如何以编程方式将 doSomething 的值更改为 doSomethingElse

最佳答案

将您想要的函数存储为变量中的处理程序。

在此示例中,handler 是第一个按钮的点击处理程序。单击第二个和第三个按钮更改 handler 设置的功能。

new Vue({
  el: '#app',
  data() {
    return {
      handler: this.doSomething,
    }
  },
  methods: {
    doSomething() {
      console.log('something')
    },
    doSomethingElse() {
      console.log('something else')
    }
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"></script>
<div id="app">
  <button @click="handler">Fire Click Handler</button>
  <button @click="handler = doSomething">Make Handler Do Something</button>
  <button @click="handler = doSomethingElse">Make Handler Do Something Else</button>
</div>

关于vue.js - 以编程方式更改@click 方法的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45989165/

相关文章:

javascript - 导入的函数未定义

javascript - Vue.js 组件中的脚本未执行

vue.js - 动态计算属性名称

components - VueJs 子组件中的调用方法

javascript - 是否可以创建一个通过数据绑定(bind)显示的变量实例?

javascript - 将 api 响应数组转换为另一个数组以传递给 Vue prop

javascript - vuejs 如何知道用于缓存的计算属性的依赖关系?

javascript - 当购物车中已存在 id 时,Vue.js 购物车数量增加

javascript - 如何在VUE中正确使用父组件中的子组件方法?

vuejs2 - 在模板中禁用 typescript 类型安全检查