如何产生
在开发项目中遇到在组件中添加样式不生效的情况。具体场景如下
//// vue 组件 <template> <div class="box" data-v-33f8ed40></div> <template> //我用js在上面div标签中插入一个<p class='text'>text goes here</p> <script> export default { ... mounted(){ $('.box').html('<p class="text">text goes here</p>') }, ... } </script> //style , vue组件scoped样式都会在选择器的最后加上data-v-***属性 <style scoped> //样式添加了scoped .box{ color:red; } .text{ color:blue; } </style>
浏览器渲染的html 和 style 如下:
//html <div class="box" data-v-33f8ed40> <p class='text'>text goes here</p> </div> //style .box[data-v-33f8ed40]{ color:red; } .text[data-v-33f8ed40]{ //样式不生效,因为p标签里没有属性data-v-33f8ed40 color:blue; }
如何解决
很简单将去掉 style 的 scoped 属性。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持菜鸟教程(cainiaojc.com)。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#cainiaojc.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。