vue集锦

vue如何获取自定义元素属性参数值

2018-10-24  本文已影响8人  幸运三片叶
e.currentTarget.dataset.index;
  1. 获取dom节点 dataset数据

有时候可能会陷入到DOM操作上面去,其实你应该关心的是数据传递,而不是操作DOM。如果你是想获取data-num的数据,可以这样写:

<span @click="getData($event,'21')">55</span> 
getData:function (e,num) { console.log(num)}

这样就可以取到这个值了,如果你是确实想操作DOM,那你可以这样写:

<span data-num="21" ref="dataNum" @click="getData($event)">55</span> 
getData:function (e) { console.log(this.$refs.dataNum.dataset.num); }
clipboard.png
  1. 通过 e.target.getAttribute
<div id="app">
     <span data-num="21" @click="getData($event)">55</span>
</div>

new Vue({
   el:'#app',
   methods:{
   getData:function (e) {
       console.log(e.target.getAttribute('data-num'))
    }
 }
});

3.自定义命名

如:html
<div class="live-dd" numId = "<{$item.id}>"></div>

js:

$('.live-dd').on("click",function(){
     var num = this.getAttribute('numId');location.href='/live/info?id='+num;
});

使用jq的方法

<span class="vk_cq5" classid="<{$smarty.get.id}>">

var live_id = $('.vk_cq5').attr('classid')

    ref的用法  相当于操作dom

html :

1.  <div>  
2.  <div id="box" ref="mybox">  
3.  DEMO  
4.  </div>  
5.  </div>

js:

1.  export default {  
2.  data () {  
3.  return {  

5.  }  
6.  },  
7.  mounted () {  
8.  this.init();  
9.  },  
10.  methods:{  
11.  init() {  
12.  const self = this;  
13.  this.$refs.mybox.style.color = 'red';  
14.  setTimeout(() => {  
15.  self.$refs.mybox.style.color = 'blue';  
16.  },2000)  
17.  }  
18.  }  

20.  }
上一篇下一篇

猜你喜欢

热点阅读