当前位置:   article > 正文

vue如何获取自定义元素属性参数值_vue点击获取元素的自定义属性值

vue点击获取元素的自定义属性值

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


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

}

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

  1. <span data-num="21" ref="dataNum" @click="getData($event)">55</span>
  2. getData:function (e) {
  3. console.log(this.$refs.dataNum.dataset.num);
  4. }


2.通过 e . target . getAttribute
  1. <div id="app">
  2. <span data-num="21" @click="getData($event)">55</span>
  3. </div>

  1. new Vue({
  2. el:'#app',
  3. methods:{
  4. getData:function (e) {
  5. console.log(e.target.getAttribute('data-num'))
  6. }
  7. }
  8. })

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 {  
  4.         
  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.   }  
  19.   
  20. }  


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/133837
推荐阅读
相关标签
  

闽ICP备14008679号