广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue.js如何获取data-*的值
  • 810
分享到

Vue.js如何获取data-*的值

2024-04-02 19:04:59 810人浏览 薄情痞子
摘要

目录data-*获取普通数据静态获取动态获取获取对象数据动态获取data-* 这个属性熟悉js的小伙伴都知道,data-*是一个自定义属性,它的功能是视图层往js传递我们想要传的数据

data-*

这个属性熟悉js的小伙伴都知道,data-*是一个自定义属性,它的功能是视图层往js传递我们想要传的数据。我们的JS可以控制视图层,但是我们往往需要用户操作视图层,逻辑层也能够获取用户的交互值,这个时候我们就需要data-*属性了

获取普通数据

我们的js数据类型大体上可分为,数字类型,字符类型,布尔值类型,对象类型。其实还有undefined和null

我把数字类型,字符类型,布尔值类型称之为普通数据类型,我们接下来分别演示

静态获取

静态获取指的是我们的data-*是写死的,不是动态的

html代码

<div id="app">
	<div :style="myStyle" data-num=1 data-str="hello" data-bool=true @click="click($event)"></div>
</div>

js代码

var app=new Vue({
	el:'#app',
	//myStyle是样式对象
	data() {
		return{
			myStyle:{
				background:"red",
				width:100+"px",
				height:100+"px"
			}
		}
	},
	methods:{
		click:function(e){
		    //e.target.dataset可以获取数值
			console.log(e.target.dataset)
		}
	}
})

点击红色块之后的效果:

注意看右边的数据,返回的全是字符串。可是我们传递的数值有的不是字符串,但是全部转化成了字符串了。我们只能后续进行类型转化了

动态获取

动态获取数据指的是我们获取的数据是动态的,通常我们喜欢用在v-for中,用于判断用户点击列表为第多少项

html

<div id="app">
	<ul>
		<li v-for="(item,index) in datalist" :data-op="index" @click="click($event)">{{item.name}}</li>
	</ul>
</div>

js

var app=new Vue({
	el:'#app',
	data() {
		return{
			datalist:[
				{
					id:0,
					name:'小明',
				},
				{
					id:1,
					name:'小红',
				},
				{
					id:2,
					name:'小刚',
				}
			]
		}
	},
	methods:{
		click:function(e){
			let {op}=e.target.dataset
			console.log("选中了第"+(parseInt(op)+1)+"项")
		}
	}
})

点击li之后的效果

获取对象数据

对象数据与普通数据不同,它们需要使用JSON.stringfy进行字符串

动态获取

HTML

<div id="app">
	<ul>
		<li v-for="(item) in datalist" :data-item="JSON.stringify(item)" @click="click($event)">
			{{item.name}}</li>
	</ul>
</div>

js

var app = new Vue({
	el: '#app',
	data() {
		return {
			datalist: [{
					id: 0,
					name: '小明',
				},
				{
					id: 1,
					name: '小红',
				},
				{
					id: 2,
					name: '小刚',
				}
			]
		}
	},
	methods: {
		click: function(e) {
			let {
				item
			} = e.target.dataset
			item = JSON.parse(item)
			console.log(item)
		}
	}
})

如果遇到特殊字符报错的话,尝试修改JS代码如下:

click: function(e) {
	let {
		item
	} = e.target.dataset
	item=encodeURIComponent(item)
	item = JSON.parse(decodeURIComponent(item))
	console.log(item)
}

进行编码和解码序列化操作就好了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Vue.js如何获取data-*的值

本文链接: https://www.lsjlt.com/news/168068.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue.js如何获取data-*的值
    目录data-*获取普通数据静态获取动态获取获取对象数据动态获取data-* 这个属性熟悉JS的小伙伴都知道,data-*是一个自定义属性,它的功能是视图层往js传递我们想要传的数据...
    99+
    2022-11-13
  • Android实现获取meta-data和build.gradle的值
    有时候会用到meta-data中的参数,比如定义的渠道号,类似友盟统计。也会用到定义在build.gradle文件中android标签下的defaultConfig标签下,添加...
    99+
    2022-06-06
    gradle meta build Android
  • js如何获取标签元素data-*属性值
    这篇文章主要介绍“js如何获取标签元素data-*属性值”,在日常操作中,相信很多人在js如何获取标签元素data-*属性值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js如何获取标签元素data-*属性值...
    99+
    2023-06-30
  • java如何获取map的值
    在Java中,可以使用`get()`方法从`Map`对象中获取键对应的值。具体语法如下:```javaMap map = new H...
    99+
    2023-09-11
    java
  • jquery如何获取textarea的值
    使用jquery获取textarea值的方法:1.新建html项目,引入jquery;2.使用textarea标签创建文本域,设置id属性;3.添加button按钮,绑定onclick点击事件;4.通过id获取textarea对象,使用te...
    99+
    2022-10-16
  • jquery如何获取input的值
    使用jquery获取input值的方法:1.新建html项目,引入jquery;2.添加input输入框,设置id属性;3.通过id属性获取input对象;4.使用val()方法获取input的值;具体步骤如下:首先,新建一个html项目,...
    99+
    2022-10-19
  • jquery如何获取label的值
    在jQuery中,可以通过以下方法获取label的值:1. 使用label元素的for属性和jQuery的选择器来获取label的值...
    99+
    2023-08-21
    jquery
  • jquery如何获取radio的值
    您可以使用以下代码来获取选中的radio按钮的值:```javascript// 通过name获取选中的radio按钮的值var v...
    99+
    2023-08-11
    jquery radio
  • jquery如何获取class的值
    本文小编为大家详细介绍“jquery如何获取class的值”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery如何获取class的值”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。获取class的值获取cl...
    99+
    2023-07-06
  • js获取标签元素data-*属性值的4种方法
    目录方式一:dataset方式二: getAttribute/setAttribute/removeAttribute方法三:jQuery.attr方法四:jQuery.data前言...
    99+
    2022-11-13
  • jquery如何获取left值
    使用jquery获取left值的方法:1.新建html项目,引入jquery;2.创建div标签,设置left值;3.添加button按钮,绑定onclick点击事件;4.通过标签名获取对象,使用offset()方法获取left值;具体步骤...
    99+
    2022-10-16
  • php如何获取cookie值
    本篇内容主要讲解“php如何获取cookie值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何获取cookie值”吧!在php中,可以使用超全局变量“$_COOKIE”来获取浏览器的Co...
    99+
    2023-06-20
  • java如何获取注解的值
    在Java中,可以通过反射来获取注解的值。具体步骤如下: 首先,需要定义一个带有注解的类或方法。 @MyAnnotation(n...
    99+
    2023-10-26
    java
  • java如何获取枚举的值
    在Java中,可以使用values()方法来获取枚举类型的所有值。该方法返回一个包含枚举常量的数组。 下面是一个示例: enum C...
    99+
    2023-10-24
    java
  • python如何获取字典的值
    使用python获取字典值的方法:1.新建python项目;2.定义字典,并赋值;3.使用values()方法获取字典值;具体步骤如下:首先,打开python,并新建一个python项目;python项目创建好后,在项目中定义一个字典,并赋...
    99+
    2022-10-25
  • vue如何获取map中的值
    在vue中获取map值的方法:1.使用Object方法获取map中的key和value值;2.使用Object.entries方法获取map中的值;具体方法如下:使用Object方法获取map中的key和value值<template...
    99+
    2022-10-21
  • vue中如何获取input的值
    在vue中获取input值的方法:1.新建html项目,引入vue;2.定义input输入框,设置v-model样式;3.绑定变量和按钮;具体步骤如下:首先,新建一个html项目,并在项目中引入vue;<!DOCTYPE h...
    99+
    2022-10-16
  • springmvc HttpServletRequest 如何获取c:forEach的值
    目录如何获取c:forEach的值请教怎么做呢?springmvc向jsp传值以及c:foreach说明用foreach遍历:如果要横向显示的话:关于c:foreach:如何获取c:...
    99+
    2022-11-12
  • SpringMVC中如何获取@PathVariable的值
    目录如何获取@PathVariable的值一、地址:**/{id}二、方式springmvc使用@PathVariable时,应该注意点什么?一、使用@PathVariable的转变...
    99+
    2022-11-12
  • 如何获取this.$store.dispatch的返回值
    目录获取this.$store.dispatch的返回值Action调用根据vuex的this.$store.dispatch()返回值处理逻辑App.vuevuex/store/a...
    99+
    2023-01-10
    this.$store.dispatch this.$store.dispatch返回值 获取this.$store.dispatch返回值
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作