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

js文件

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操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • vue的事件绑定与方法详解

    一.在vue中,绑定事件,用v-on:事件类型, 如绑定一个点击事件, 我们可以这样子做 window.onload = function () { var c = new Vue({ el : 'body', methods : { say : function(){ alert( '欢迎学习vue' ); } } }); } <input type="button" value="点我" v-on:click="say();"/>

  • 对Vue.js之事件的绑定(v-on: 或者 @ )详解

    1.Vue.js事件绑定的一般格式 v-on:click='function' v-on:click/mouseout/mouseover/ @click 2.Vue.js事件绑定的实现 2.1 JavaScript代码 <script type="text/javascript" src="../js/vue-1.0.21.js"></script> <script type="text/javascript"&g

  • vue 列表页跳转详情页获取id以及详情页通过id获取数据

    1.先在router.js中配置路由 { path: '/movieDetail/:movieId', name: 'movieDetail', component:movieDetail } 2.获取详情页的id,并派发父组件事件(movieList.vue)页面 <li v-for="(item,index) in movies" :key="index" @click="selectItem(item)"> ....... &l

  • vue基础之事件v-onclick="函数"用法示例

    本文实例讲述了vue基础之事件v-onclick=函数用法.分享给大家供大家参考,具体如下: v-on:click/mouseout/mouseover/dblclick/mousedown..... 事件: v-on:click="函数" v-on:click/mouseout/mouseover/dblclick/mousedown..... new Vue({ el:'#box', data:{ //数据 arr:['apple','banana','orange','pear'

  • 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.js的事件(单双击.鼠标和键盘)以及阻止事件冒泡 自己随便琢磨了一个小的Demo,实现了一些事件和阻

  • vue.js click点击事件获取当前元素对象的操作

    Vue.js可以传递$event对象 <body id="app"> <ul> <li v-on:click="say('hello!', $event)">点击当前行文本</li> <li>li2</li> <li>li3</li> </ul> <script> new Vue({ el: '#app', data: { message: 'He

  • vue实现绑定事件的方法实例代码详解

    一.前言 vuejs中的事件绑定,使用<v-on:事件名 = 函数名>来完成的,这里函数名是定义在Vue实例中的methods对象中的,Vue实例可以直接访问其中的方法. 二.事件绑定方式 1. 直接在标签中写js方法  <button v-on:click="alert('hi')">执行方法的第一种写法</button> 2.调用method的办法 <button v-on:click="run()">执行方法的第

  • vue.js绑定事件监听器示例【基于v-on事件绑定】

    本文实例讲述了vue.js绑定事件监听器.分享给大家供大家参考,具体如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maxi

  • 解决Vue router-link绑定事件不生效的问题

    解决方法:加native <router-link to="/date" @click.native="nav_click">最新</router-link> methods: { nav_click: function() { console.log(1) } } 解释: 1: 因为它是自定义标签,根本就没有事件和方法,所以不触发,加个native 就是告诉vue 这个标签现在有主了 它是H5标签 可以加事件了. 2:父组件要想在子组件监听

  • vue组件添加事件@click.native操作

    1,给vue组件绑定事件时候,必须加上native ,否则会认为监听的是来自Item组件自定义的事件 2,等同于在子组件中: 子组件内部处理click事件然后向外发送click事件:$emit("click".fn) <Item @click.native = "shijian()"></Item> 补充知识:vue--组件间(兄弟组件间)事件派发与接收 法一 main.js 在初始化vue之前,给 data 添加一个名为 event 的空v

  • Vue利用vue-baidu-map实现获取经纬度和搜索地址

    目录 1.申请百度地图密钥 2.安装vue-baidu-map 3.获取经纬度 最终实现效果 在开发项目的时候,发现需要获取经纬度,由于这个项目是用vue写的,最后决定使用vue-baidu-map来快速获取经纬度 基于 Vue.js 封装的百度地图组件,运行流畅,代码简单易懂,几乎包含了百度地图官方的所有API,文档地址:https://dafrok.github.io/vue-baidu-map/#/zh/start/installation 1.申请百度地图密钥 搜索'百度地图开放平台',

  • JQuery为页面Dom元素绑定事件及解除绑定方法

    1.绑定事件 复制代码 代码如下: $('#id').bind("click",function(){ ... }) 可一次性绑定多个事件 复制代码 代码如下: $('#id').bind("click mouseover mouseout",function(){ ... }) 2.解除绑定 复制代码 代码如下: $('#id').unbind("click") 3.绑定一次 复制代码 代码如下: $('#id').one("clic

  • vue绑定事件后获取绑定事件中的this方法

    使用$event传递参数(事件本身) <input v-model="checknames" @change="changecheckbox(item,$event)" style="float: right" type="checkbox" :value="index" > changecheckbox(val,element) { console.log( element.currentTa

  • vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作

    前言 在 v-for 循环语句上,定义一个点击事件 传入两个参数(当行数据.当前事件对象),如下代码片段,当前事件对象必须加上 '$' 符号 <template> <div> <ul> <li v-for="(item, index) in arrData" :key="index" @click="operate(item, $event)" > {{ item.title }} </li&

随机推荐