【发布时间】:2017-03-31 10:49:03
【问题描述】:
我最近开始使用 Vue.js,我真的很喜欢它,但我遇到了一些我不知道该怎么做的事情。我已经搜索并阅读了文档,但没有找到解决方案。
当您向任何组件添加 CSS 类时,Vue.js 会自动添加或合并 CSS 类与子组件中的根元素。
这是一个不错的功能,但我需要为特定组件停用此功能,因为我希望将类添加到根元素的子元素中。
我做了这个小提琴来说明http://jsfiddle.net/rasmuswoelk/9m2j0a9s/3
<div id="demo">
<child-component class="some-class"></child-component>
</div>
(“some-class”正在自动添加并添加绿色背景色)
如何防止 Vue.js 自动合并 CSS 类?
【问题讨论】:
-
您在寻找scoped-css。
-
所以你想得到
<div class="child"><h1 class="some-class">Hello</h1></div>? -
@Saurabh 不——它与作用域 css 无关。
-
@str 是的,基本上。必须有一种非 hacky 的方式来实现这一点。
-
这对我来说听起来像是一个 XY 问题。 Vue 正确地合并了这些类,因为
<child-component>标记实际上被替换为该组件的模板的根元素,它本身可能有类。你不能阻止 Vue 这样做。您能否更详细地解释一下您希望组件如何工作?您说您希望将该类添加到根元素的子元素中,那么为什么不制作一个道具(例如“customClass”),然后您可以将其绑定到您想要的特定子组件的类,例如@987654323 @?
标签: javascript vue.js vuejs2