首页 > 解决方案 > 将事件与 VUE.js 上的对象绑定

问题描述

我是 vue.js 的新手,我搜索了文档,但找不到是否可以将事件与单个对象绑定。有人能帮我吗?

从:

<input @input="inputEvent" @selected="selectedEvent"/>

至:

theEvents =  {
   "input" : () => this.inputEvent(),
   "selected" : () => this.selectedEvent(),
}

<input v-bind:"theEvents" />

标签: vue.js

解决方案


首先它应该是 v-on,其次你应该直接放置方法,除非你在数据中编写回调函数,

<div id="mydDiv" v-on="handlers"></div>

// ...

data() {
  const vm = this;

  return {
    handlers: {
      mousedown: vm.divMousedown,
      touchstart: vm.divTouchstart
    }
  }
},

methods: {
  divMousedown() {
    console.log('event: mousedown');
  },
  divTouchstart() {
    console.log('event: touched');
  }
}

 const EVENTS = [
      {name: 'my-event1', callback: () => console.log('event1')},
      {name: 'my-event2', callback: () => console.log('event2')},
      {name: 'my-event3', callback: () => console.log('event3')}
    ]

从Bind multiple events复制到 Vue 中的 v-on 指令


推荐阅读