[英]how to send data with click event in Vue.js
我有一个用Vue.js编写的简单示例。
// vue instance var vm = new Vue({ el: "#app", data: { matrix: ["", "", "", "", "", "", "", "", ""], }, methods: { handleClick: function() { console.log("event triggered"); } } })
* { box-sizing: border-box; } #game-box { width: 150px; display: block; margin: 0px auto; padding: 0px; background: green; } .grid-item { float: left; width: 33.333%; height: 50px; background: yellow; border: 1px solid green; margin: 0px; text-align: center; }
<script src="https://unpkg.com/vue/dist/vue.js"></script> <div id="app"> <div id="game-box"> <div v-for="(sign, index) in matrix" class="grid-item" @click="handleClick"> {{ sign }} </div> </div> </div>
有没有什么方法可以通过click事件发送数据(例如,被单击元素的索引),以便由handleClick
方法进行如下处理:
handleClick: function(index) {
console.log(index);
}
以下代码段会将索引传递给您的handleClick函数。
handleClick(index)
// vue instance var vm = new Vue({ el: "#app", data: { matrix: ["", "", "", "", "", "", "", "", ""], }, methods: { handleClick: function(i) { console.log("event triggered", i); } } })
* { box-sizing: border-box; } #game-box { width: 150px; display: block; margin: 0px auto; padding: 0px; background: green; } .grid-item { float: left; width: 33.333%; height: 50px; background: yellow; border: 1px solid green; margin: 0px; text-align: center; }
<script src="https://unpkg.com/vue/dist/vue.js"></script> <div id="app"> <div id="game-box"> <div v-for="(sign, index) in matrix" class="grid-item" @click="handleClick(index)"> {{ sign }} </div> </div> </div>
// in view
@click='handleClick(data)'
// in logic
methods: {
handleClick(dataFromClick) => {
// do something with dataFromClick
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.