<style src="/static/home.css" scoped></style>
<style scoped>
@import url("/static/home.css");
</style>
代码如上,如果使用@import的方式的话,不同组件切换后,发现页面都乱了,审查元素发现<head>里面有多个css,虽然加了scoped,但是没有用,后来百度搜索,发现sf上也有个问题,和我一样,答案里面推荐使用src引用css,试了下,每个组件对应了每个css,页面正常了。然后就有疑惑了,这两种有什么区别吗?为什么@import导致<head>里面有多个css呢?不是加了scoped吗
http://www.jianshu.com/p/9caf...
1、我觉得你应该先理解一下scoped的原理和作用
2、然后我觉得你就可以查找一下为什么样式乱的原因,我觉得就是应该是vue-loader里tag打没打上的问题,希望得到楼主更加详细的解决结果
————————————————————————
好了我自行测试了一下,果然是tag标签的问题
你@import导入进来css并没有被打上tag标签,也就是说他是一个全局的css,同样会作用到你别的组件中,也就会使你的样式乱套
而src引入的会被vue-loader打上tag
例子:
@import导入的style编译后的内容
src导入的style编译后的内容