Vue 获取自定义属性的值

摘要:
在jquery中,如果要获取data-***的值可以通过$.data来获取。在Vue中如何获取该值呢?如下代码:sayhimethods:{say{console.log}}2.通过e.target.dataset.***或者e.target.getAttribute来获取。

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 = newVue({
        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 获取自定义属性的值》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vscode clang-format插件的使用手机遥控器,3.5mm耳机接口红外遥控改造解析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue设置全局样式:loadOptions

vue中全局设置样式有两种方法: 第一种:只需要在main.js中引入 如global.css html,body,#app{ height: 100%; margin: 0px; padding: 0px; } 在main.js中引入 import "./styles/index.scss";import './assets/cs...

详解 QT 主要类 QWidget

QWidget类是所有用户界面对象的基类,每一个窗口部件都是矩形,并且它们按Z轴顺序排列的。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。 先来看内容。 AD: 2013云计算架构师峰会超低价抢票中 QT 主要类 QWidget 是本文介绍的内容,QWidget类是所有用户界面对象的基类。窗口部件是用户界面的一个原子:它从窗口系统接...

vue2使用echarts markLine中的symbol引入png图片路径问题解决过程

在刚刚的开发中有个需求,需求是这样的:需要一条markLine标记线,标记线的顶端形状为实心箭头,且颜色和markLine标记线颜色不一致,这个箭头的方向会有一个接口返回的参数控制箭头在markLine标记线的首端还是末端, 如下图所示: 刚开始用的是echarts提供的默认配置(ECharts 提供的标记类型包括 'circle', 'rect', '...

vue开发环境搭建

大致分这么几个骤: 1. 安装node 、npm 、nvm 2. 安装git 、vscode 以及vscode上的一些插件 3. 安装vue-cli 以下详细来说每个步骤 1. 安装node 、 npm 、nvm    在官网下载的 node 安装包,在mac上运行会自动安装在全局目录,使用过程中经常会遇到一些权限问题,所以推荐按该网站 https://...

Vue 数组和对象更新,但是页面没有刷新

在使用数组的时候,数组内部数据发生改变,但是与数组绑定的页面的数据却没有发生变化。 <ul> <li v-for="(item,index) in todos" :key="index">{{item.name}}</li> </ul>    data () { return {...

基于vue实现搜索高亮关键字

有一个需求是在已有列表中搜索关键词,然后在列表中展示含有相关关键字的数据项并且对关键字进行高亮显示,所以该需求需要解决的就两个问题: 1.搜索关键词过滤列表数据 2.每个列表高亮关键字 ps: 此问题基于数组对象,其他数据类型也可参考此思路。 关键词搜索:过滤数据很简单,无非就是监听search,对源数据过滤即可,贴一下代码: 1 const search...