我是否可以在没有Vue Loader的情况下包含scoped css?
问题描述:
对于Vue被投入的项目,是否使用可用于组件的样式或类似项目?我是否可以在没有Vue Loader的情况下包含scoped css?
Vue.component('vue-sup', {
template: '<div>Sup</div>',
style: '* { color: blue; }'
})
我尝试添加样式的模板中,如:
<div>
<style>
.here{}
</style>
<div>Sup</div>
</div>
因为模板分析器检测到的副作用标签,没有工作
答
Vue公司的执行范围的CSS是完全vue-loader的一个特性,因此仅适用于编译。应用范围的CSS暂时在Html5中首次亮相,但几乎没有采用,并据我所知完全丢弃。有一种预期,“Shadow DOM”可能会得到广泛的支持,可以用来添加有限范围的CSS,但采用还没有。
所以在这一点上,你可以添加独特的类或标识显然是父容器和范围你的CSS这种方式,但可以理解,不是你要求的,也不是一直实用。
最好的选择是pollyfill。有几种可用的。这是一个由Sam Thorogood和另一个由Thomas Park,但如果你做一个快速搜索,你可能会发现更多。
非常好的解决方案。唯一的问题是,当我在模板中包含'
这是并不是真正有效的解决方案,但我编辑Vue的源代码时不会看'
不确定,但是你尝试在app.js(vue.js)文件后面调用函数'Vue.config.ignoredElements'吗? https://vuejs.org/v2/api/#ignoredElements – skribe