Button “动态”;点击";Vue中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>

我在一个数组中循环,该数组将几个按钮输出到一个表中。我想动态地设置在单击该按钮时调用的方法。它正确地从数组中提取了所有其他内容,但没有设置方法(因此单击按钮时不会执行任何操作)

以下是我的v-for循环代码:

<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},
          ],
}
}}