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

本文介绍了在Vue.js中高效操作DOM的方法,包括直接通过事件获取元素属性、利用Vue的ref特性进行DOM操作以及自定义属性读取等。这些技巧有助于开发者更专注于数据处理而非DOM操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

偶尔还是会陷入到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);
    }


2.通过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 {  
  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. }  


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值