您的位置:首页 > 产品设计 > UI/UE

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

2018-03-22 13:57 666 查看

偶尔还是会陷入到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的用法  相当于操作domhtml : <div>      <div id="box" ref="mybox">        DEMO      </div>    </div>js:export default {    data () {      return {              }    },    mounted () {      this.init();    },    methods:{      init() {        const self = this;        this.$refs.mybox.style.color = 'red';        setTimeout(() => {          self.$refs.mybox.style.color = 'blue';        },2000)      }    }    }  
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  前端