HTML 按钮在 Vue.js 中的 v-for 循环中重复,class 按钮对附加的 jQuery 事件处理程序不起作用

HTML button repeating in v-for loop in Vue.js, class on button not working to attached jQuery event handler

我正在使用 jQuery 插件,它要求我将事件绑定到按钮上的 class。

按钮在 table 中重复,如下所示:

<tr v-for="option in app.options">
  <td>{{ option.value1 }}</td>
  <td>{{ option.value2 }}</td>
  <td><button class="btn btn-primary next">Choose</button></td>
</tr>

但是,当它呈现选项(开始时未设置,它们是通过 http 请求设置的)并且单击按钮时,jQuery 事件未在按钮,即使它附有 next class。

如何让 jQuery 识别由 Vue.js 呈现的带有 .next class 的按钮?

正如其他答案所述,它可能没有注册事件,因为此时 next 按钮不存在。我会使用 vue 指令在您的组件上调用一个方法,然后在该方法中手动触发 jquery 事件。所以你的按钮是 <td><button class="btn btn-primary next" v-on:click="fireJqueryEvent">Choose</button></td>

然后在你的 Vue 组件中:

methods:{
    fireJqueryEvent(e){
        //run the function you need to run or use .trigger() to fire an event
    }
}

您也可以等到 Vuejs 内容加载完毕后再调用 jquery 向导。