• 技术文章 >web前端 >js教程

    Vue.js中v-html渲染的dom添加scoped的样式的方法介绍

    不言不言2019-04-11 10:33:21转载1333
    本篇文章给大家带来的内容是关于Vue.js中v-html渲染的dom添加scoped的样式的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    在vue.js中,要将一段字符串渲染成html,可以使用v-html指令。

    但是 官方文档 中的v-html部分也提醒了

    在单文件组件里,scoped 的样式不会应用在 v-html 内部,因为那部分 HTML 没有被 Vue 的模板编译器处理。如果你希望针对 v-html 的内容设置带作用域的 CSS,你可以替换为 CSS Modules 或用一个额外的全局 <style> 元素手动设置类似 BEM 的作用域策略。

    除了官方文档给的方案以外,有一个更简便的方式:深度作用选择器

    如果你希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>> 操作符:
    <style scoped>
    .a >>> .b { / ... / }
    </style>
    上述代码将会编译成:
    .a[data-v-f3f3eg9] .b { / ... / }
    有些像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/ 操作符取而代之——这是一个 >>> 的别名,同样可以正常工作。

    示例

    <div v-html="contentView"></div>
    
    <style scoped>
    .product-content {
        ...
        /deep/ h4 {
          color: #333;
          ...
        }
      }
    </style>

    【相关推荐:JavaScript视频教程

    以上就是Vue.js中v-html渲染的dom添加scoped的样式的方法介绍的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除
    专题推荐:vue.js javascript
    上一篇:ES6中变量的解构赋值的用法介绍(附代码) 下一篇:JavaScript数组常用API方法和遍历方法的小结(附示例)
    大前端线上培训班

    相关文章推荐

    • Vue.js方法与事件的介绍• 如何理解Vue.js中的条件渲染?(代码示例)• Vue.js中v-for列表渲染指令的使用(代码示例)• Vue.JS事件处理教程及代码示例

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网