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 相关文章推荐
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
May 07 Javascript
jquery 多行文本框(textarea)高度变化
Jul 03 Javascript
php结合imgareaselect实现图片裁剪
Jul 05 Javascript
JavaScript中判断两个字符串是否相等的方法
Jul 07 Javascript
详解Vue双向数据绑定原理解析
Sep 11 Javascript
Angular 5.0 来了! 有这些大变化
Nov 15 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
Aug 10 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
Sep 27 Javascript
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
Oct 25 Javascript
vue实现搜索功能
May 28 Javascript
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
electron踩坑之remote of undefined的解决
Oct 06 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
phpMyAdmin2.11.6安装配置方法
2008/08/24 PHP
PHP print类函数使用总结
2010/06/25 PHP
php smarty模板引擎的6个小技巧
2014/04/24 PHP
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
深入了解JavaScript词法作用域
2020/07/29 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
python实现PCA降维的示例详解
2020/02/24 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
Python对excel的基本操作方法
2021/02/18 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
委托与事件是什么关系?为什么要使用委托
2014/04/18 面试题
文秘专业大学生求职信
2013/11/10 职场文书
高中毕业自我鉴定
2013/12/16 职场文书
蓝颜请假条
2014/04/11 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
学校党员对照检查材料
2014/08/28 职场文书
2015年学校教研室主任工作总结
2015/07/20 职场文书
CSS的calc函数用法小结
2022/06/25 HTML / CSS