v-for处理事件循环
第一种处理方法(优先使用)
用来循环的列表:
const list = [
{ id: 'handleDelet', name: '删除' },
{ id: 'handleCopy', name: '复制' },
]
<div
v-for="(item, itemIndex) in list"
:key="itemIndex"
@click="handleMenu(item.id, '22')
</div>
方法处理:
handleMenu(menu, item) {
//menu方法名,item是参数
this[menu](item);
}
第二种处理方法
handleMenu(menu, item){
//这里加bind(this)是因为”this.$options.methodes"操作导致this不是vue里的this,需要把this重新绑定到vue的this上。
this.$options.methodes.menu(item).bind(this);
}
相关知识bind()
用途:创建新函数
说明:bind(参数1,其他参数)
参数1:新函数的this指定到的地方
其他参数:新函数使用
bind()的文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/bind