Button “动态”;点击";Vue中v-for循环期间的事件
我在一个数组中循环,该数组将几个按钮输出到一个表中。我想动态地设置在单击该按钮时调用的方法。它正确地从数组中提取了所有其他内容,但没有设置方法(因此单击按钮时不会执行任何操作) 以下是我的v-for循环代码:Button “动态”;点击";Vue中v-for循环期间的事件,button,dynamic,vue.js,v-for,Button,Dynamic,Vue.js,V For,我在一个数组中循环,该数组将几个按钮输出到一个表中。我想动态地设置在单击该按钮时调用的方法。它正确地从数组中提取了所有其他内容,但没有设置方法(因此单击按钮时不会执行任何操作) 以下是我的v-for循环代码: <tr v-for="button in buttons" :key="button.id"> <td> <button @click="button.method">{{button.name}}</button>
<tr v-for="button in buttons" :key="button.id">
<td>
<button @click="button.method">{{button.name}}</button>
</td>
</tr>
如果我手动设置调用的方法,那么一切都正常工作。但每个按钮都调用相同的方法。而不是“buttone、buttonewo等”
{{button.name}}//这是可行的,但是每个按钮都有一个buttonOne方法在单击时被调用
指定方法本身,而不是为方法
字段使用方法名称:
// method: 'buttonOne' // DON'T DO THIS
method: this.buttonOne
newvue({
el:“#应用程序”,
数据(){
返回{
按钮:[
{id:1,名称:'Button 1',方法:this.buttone},
{id:2,名称:'Button 2',方法:this.buttonTwo},
],
};
},
方法:{
无{
console.log('buttone');
},
按钮二(){
console.log('buttonTwo');
}
}
})
{{button.name}
如果@tony19答案不够,请尝试此选项
export default {
name: 'app',
data() {
return {
buttons : [
{id : 1, name : 'Button 1', method : this.buttonOne},
{id : 2, name : 'Button 2', method : this.buttonTwo},
],
}
}}
// method: 'buttonOne' // DON'T DO THIS
method: this.buttonOne
export default {
name: 'app',
data() {
return {
buttons : [
{id : 1, name : 'Button 1', method : this.buttonOne},
{id : 2, name : 'Button 2', method : this.buttonTwo},
],
}
}}