Vue 中通过事件绑定获取当前行 ID 的方法

作者:白露

时间:2026-10-24

浏览:69

本文介绍在 Vue 中如何通过 v-for 循环绑定点击事件以获取当前行的 productId。同时补充了 Vue 中单击、双击、鼠标及键盘事件的用法,并演示了如何阻止事件冒泡。

文章目录

Vue 获取当前行 ID 示例

示例代码如下:

<div @click="router(items.productId)" style="float: left;" :key='items.productName' v-for="items in item"> </div>

具体获取方式如下:


router(e){
       conslone.log(e);
     }

Vue 事件处理与阻止冒泡详解

补充知识:Vue.js 的事件(包括单击、双击、鼠标和键盘事件)以及阻止事件冒泡的方法。

这里简单演示了一个 Demo,实现了部分事件功能及阻止事件冒泡的效果,详细代码及注释如下。

HTML 文件部分:


<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8"></meta>
 <title>VueDemo</title>
 <link rel="stylesheet" href="style.css" rel="external nofollow" ></head>
 <script src="https://unpkg.com/vue"></script>
</head>
<body>
 <div id="vue-app"> 
 <h1>事件</h1>
 <!-- 点击事件的绑定可以用v-on修饰click也可以在click前面添加@来修饰,表示点击实际,click.once表示该事件只能点击一次,点击一次之后就不能再点击了,dblclick是doubleclick的缩写,表示双击,即双击button才能够有效 -->
 <button @click.once="add(1)">加一</button>
 <button v-on:click="sub(1)">减一</button>
 <button v-on:dblclick="add(10)">加十</button>
 <button v-on:dblclick="sub(10)">减十</button>
 <p>数值是 {{number}} </p>
 
 <!-- 以下方法是通过一个updatexy方法来获取canvas区域内的鼠标的坐标值,并且通过一个stopmove方法来阻止鼠标的移动事件,即当鼠标移动到stopmove这个span的时候不能够获得x,y的值, -->
 <div id="canvas" v-on:mousemove="updateXY">{{X}},{{Y}}
  -<span v-on:mousemove="stopmove">Stop Move</span>
 </div>
 <!-- 除了通过stopmove方法来定义阻止鼠标的移动事件还可以 v-on:mousemove.stop的方式,即后面不需要添加方法即可 
  <div id="canvas" v-on:mousemove="updateXY">{{X}},{{Y}}
  -<span v-on:mousemove.stop="">Stop Move</span>
 </div> -->
 
 <!-- 点击跳转百度官网:v-on:click="alert()"在点击百度官网的时候,会弹出对话框,然后跳转到百度官网地址,在click后面加prevent,表示保持,即能够弹出对话框,但页面不跳转 -->
 <a v-on:click.prevent="alert()" href="http://www.baidu.com" rel="external nofollow" >百度官网</a>
 
 <!-- 键盘事件 -->
 <div id="key">
  <label>账号</label>
  <!-- 键盘按键按下调用printName方法 -->
  <input type="text" @keyup="printName"> 
  <label>密码</label>
  <!-- keydown和keyup方法一样都是键盘事件的处罚 -->
  <!-- <input type="text" @keydown="printPsw"> -->
  <!-- keydown.enter表示只有当enter键按下的时候才会触发事件,同理可以有其他的组合键比如keydown.shift.enter等等 -->
  <input type="text" @keydown.enter="printPsw"> 
 </div>
 </div>
 <script src="app.js"></script>
</body>
</html>

JavaScript 文件部分:


new Vue({
 el:"#vue-app",
 // el:element 需要获取的元素,一定是html中的根容器元素
 data:{
 number:30,
 X:0,
 Y:0,
 },
 methods:{
 add: function(insc){
  this.number += insc;
 },
 sub: function(desc){
  this.number -= desc;
 },
 
 updateXY:function(event){
  // 输出鼠标的所有属性,其中offsetX(Y)表示鼠标的坐标值
  console.log(event)
  this.X = event.offsetX;
  this.Y = event.offsetY;
 },
 stopmove:function(event){
  event.stopPropagation;
 },
 alert:function(){
  alert("hello world")
 },
 printName:function(){
  console.log("该事件被调用");
 },
 printPsw:function(){
  console.log("该事件被调用");
 
 }
 }
 
});

CSS 样式部分:


#canvas{
 width: 600px;
 padding: 200px 20px;
 text-align: center;
 border: 1px solid red;
}

运行效果如下图所示:

Vue 获取当前行 ID 示例

Vue 获取当前行 ID 示例

Vue 获取当前行 ID 示例

Vue 获取当前行 ID 示例

Vue 获取当前行 ID 示例

Vue 获取当前行 ID 示例

以上关于 Vue 通过绑定事件获取当前行 ID 的操作内容就是小编分享给大家的全部经验,希望能对大家有所帮助,也希望大家多多支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章