Pav*_*G R 2 javascript vue.js vue-component vuejs2
<div v-for="(grp,idx) in vm">
<button onclick="addPlant(idx)">
.......
</button>
</div>
Run Code Online (Sandbox Code Playgroud)
addPlant()是一个JavaScript函数,而不是 VueJS 方法。
现在如何将idx值传递给 javascript 方法?
onclick您无法像您尝试那样从普通的 javascript 处理程序引用 Vue 模板变量。
您应该将索引值传递给 Vue@click处理程序并从那里调用普通的 javascript 方法:
function addPlant(idx) {
alert(idx)
}
new Vue({
el: '#app',
data() {
return {
groups: ['a', 'b', 'c']
}
},
methods: {
onButtonClick(idx) {
addPlant(idx)
}
}
})Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<div v-for="(grp, idx) in groups">
<button @click="onButtonClick(idx)">
{{ idx }}
</button>
</div>
</div>Run Code Online (Sandbox Code Playgroud)