javascript - 如何在 Vue.js 中使用点击事件发送数据

标签 javascript vue.js vuejs2

我有一个用 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>

有没有什么方法可以通过点击事件发送数据(例如被点击的元素的索引)以便由 handleClick 方法处理,如下所示:

handleClick: function(index) {
    console.log(index);
}

最佳答案

以下代码段会将索引传递给您的 handleClick 函数。

handleClick(索引)

// 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>

关于javascript - 如何在 Vue.js 中使用点击事件发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41883697/

相关文章:

vue.js - 是否仍然可以同时使用 vuetify 和 vue-bootstrap?

vuejs2 - 具有固定参数的 Vue-router 别名

node.js - 构建 vue cli 后如何运行生产站点

input - 在 keypress vuejs 中只允许数字和一个点有 2 个小数位限制

javascript - 网站上的移动菜单问题

javascript - 保存到 Ajax 服务器

javascript - 单击一个 div 在 highcharts 中突出显示一片饼图

javascript - 如何让 jasmine 读取单个文件 Vue 组件?

javascript - Vue 组件,切换数据

javascript - 通过在悬停时更改 rel 来动画 jQuery 图表