vue 出现data-v-xxx的原因及解决


Posted in Javascript onAugust 04, 2020

现象:

在Vue开发中,会遇到html被浏览器解析后,在标签中出现'data-v-xxxxx'标记,如下:

<div data-v-fcba8876 class="xxx"> aaa</div>

原因:

来看官方解释:

<style scoped>
 @media (min-width: 250px) {
  .list-container:hover {
   background: orange;
  }
 }
</style>

The optional scoped attribute automatically scopes this CSS to your component by adding a unique attribute (such as data-v-21e5b78) to elements and compiling .list-container:hover to something like .list-container[data-v-21e5b78]:hover.

本人理解:

这是在标记vue文件中css时使用scoped标记产生的,因为要保证各文件中的css不相互影响,给每个component都做了唯一的标记,所以每引入一个component就会出现一个新的'data-v-xxx'标记

补充知识:vue---获取元素额外生成的data-v-xxx

vue 出现data-v-xxx的原因及解决

需求描述:由于样式中使用了scoped,所以编译后标签对中生成data-v-xxx属性。在【.dialog_content】的div中 动态添加元素节点p和span时,也需要给元素节点添加data-v-xxx属性。由于data-v-xxx属性是会变化的,那如何获取它,添加在动态添加的元素节点中呢?本博客将给出解决方案。

【解决方法】

获取属性名【document.getElementById("dialog_submit").attributes[0].name】

设置属性【nodeP.setAttribute(dataV, "")】

var nodeP = document.createElement("p"),
nodeSpan = document.createElement("span");
// 获取data-v-xxxx的值
var dataV = document.getElementById("dialog_submit").attributes[0].name;
// 设置属性
nodeP.setAttribute(dataV, "");
nodeSpan.setAttribute(dataV, "");

【补充知识】

当 <style> 标签有 scoped 属性时,它的 CSS 只作用于当前组件中的元素。编译时将生成data-v-xxx属性,如下的“data-v-2bc3d899”就是因为加了scoped.

<style scoped>
.title {
 color:blue;
}
</style>
 
<template>
 <div class="title">hello</div>
</template>

上述代码被编译为:

<style>
.title[data-v-f3f3eg9] {
 color: blue;
}
</style>
 
<template>
 <div class="title" data-v-f3f3eg9>hello</div>
</template>

使用 scoped 后,父组件的样式将不会渗透到子组件中。不过一个子组件的根节点会同时受其父组件的 scoped CSS 和子组件的 scoped CSS 的影响。这样设计是为了让父组件可以从布局的角度出发,调整其子组件根元素的样式。

深度作用选择器:

如果希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,可以使用 >>> 操作符:

<style scoped>
.a >>> .b { /* ... */ }
</style>

上述代码被编译为:

.a[data-v-f3f3eg9] .b { /* ... */ }

以上这篇vue 出现data-v-xxx的原因及解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS 文件本身编码转换 图文教程
Oct 12 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
Jun 18 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
Sep 22 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
Feb 05 Javascript
js数组的基本操作(很全自己整理的)
Oct 16 Javascript
给angular加上动画效遇到的问题总结
Feb 17 Javascript
jQuery实现拖拽可编辑模块功能代码
Jan 12 Javascript
Vue 短信验证码组件开发详解
Feb 14 Javascript
关于JavaScript中高阶函数的魅力详解
Sep 07 Javascript
在 Vue.js中优雅地使用全局事件的方法
Feb 01 Javascript
浅谈vue的第一个commit分析
Jun 08 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
Jul 01 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
Aug 04 #Javascript
vue 实现根据data中的属性值来设置不同的样式
Aug 04 #Javascript
解决Vue中使用keepAlive不缓存问题
Aug 04 #Javascript
vue根据条件不同显示不同按钮的操作
Aug 04 #Javascript
如何在Vue.JS中使用图标组件
Aug 04 #Javascript
如何构建 vue-ssr 项目的方法步骤
Aug 04 #Javascript
vue-quill-editor的使用及个性化定制操作
Aug 04 #Javascript
You might like
简单的过滤字符串中的HTML标记
2006/12/25 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
mysql输出数据赋给js变量报unterminated string literal错误原因
2010/05/22 Javascript
JavaScript的单例模式 (singleton in Javascript)
2010/06/11 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
django之跨表查询及添加记录的示例代码
2018/10/16 Python
pytorch-RNN进行回归曲线预测方式
2020/01/14 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
如何把python项目部署到linux服务器
2020/08/26 Python
Python 必须了解的5种高级特征
2020/09/10 Python
html5利用canvas实现颜色容差抠图功能
2019/12/23 HTML / CSS
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
为什么要有struct关键字
2012/05/08 面试题
了解AppleTalk协议吗
2014/04/01 面试题
大二自我鉴定范文
2013/10/05 职场文书
招聘与培训专员岗位职责
2014/01/30 职场文书
应聘教师自荐书
2014/06/16 职场文书
校本教研活动总结
2014/07/01 职场文书
初中政治教学反思
2016/02/23 职场文书
倡议书怎么写?
2019/04/11 职场文书
导游词之无锡梅园
2019/11/28 职场文书
Java SSM配置文件案例详解
2021/08/30 Java/Android