vue如何获取自定义元素属性参数值
2018-10-24 本文已影响8人
幸运三片叶
e.currentTarget.dataset.index;
- 获取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
- 通过 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. }