Vue 获取自定义属性的值

jquery中,如果要获取 data-*** 的值可以通过 $('目标元素').data('属性名') 来获取。

在Vue中如何获取该值呢?

1.换个思路,作为参数传递。

如下代码:

<button @click="say('Hi')">say hi</button>

methods: {
    say(message){
        console.log(message)
    }
}

 

2.通过e.target.dataset.***  或者 e.target.getAttribute('data-***')来获取。

<button @click="sayBye($event)" data-msg="Bye">say bye</button>

methods: {
    sayBye(e){
        //let msg=e.target.getAttribute('data-msg');
        let msg=e.target.dataset.msg;
        console.log(msg)
    }
}

 

3.通过$refs获取。

<button @click="sayHello()" data-msg="Hello" ref="dataMsg">say hello</button>

methods: {
    sayHello(){
        let msg=this.$refs.dataMsg.dataset.msg;
        console.log(msg)
    }
}

 

代码完整案例如下:

<!doctype html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
    <title>vue</title>

</head>

<body>
    <div id="app">
       <button @click="say('Hi')">say hi</button>
       <button @click="sayBye($event)" data-msg="Bye">say bye</button>
       <button @click="sayHello()" data-msg="Hello" ref="dataMsg">say hello</button>
    </div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>

<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
        },
        methods: {
            say(message){
                console.log(message)
            },
            sayBye(e){
                //方法一
                //let msg=e.target.getAttribute('data-msg');
                //方法二
                let msg=e.target.dataset.msg;
                console.log(msg)
            },
            sayHello(){
                let msg=this.$refs.dataMsg.dataset.msg;
                console.log(msg)
            }
        }
    })
</script>

</html>

 

感谢阅读~~

Vue获取自定义属性有两种方法: 方法一:通过操作DOM来获取自定义属性。可以使用`this.$refs`来获取具有`ref`属性的元素,然后通过`dataset`来获取自定义属性。例如: ```javascript <selectBrand(e) { console.log(this.$refs.dataSelf.dataset.index); // 获取到循环中的下标 } ``` 方法二:通过事件对象来获取自定义属性。可以使用`e.target.getAttribute`方法来获取自定义属性。例如: ```javascript <selectBrand(e) { console.log(e.target.getAttribute('show')); // 获取到循环中的IsShow的 } ``` 可以根据具体的需求选择使用其中的一种方法来获取自定义属性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Vue自定义属性的设置及获取](https://blog.youkuaiyun.com/MYTLJP/article/details/100038411)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [vue如何获取自定义元素属性参数的方法](https://blog.youkuaiyun.com/coldriversnow/article/details/124143065)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值