单页面、SPA、angular、router,如何解决css命名冲突的问题?
假如我的应用中的css是按需加载的,有以下2个对应。
路由: /index
样式:index.css
body { background:red; }
路由: /index2
样式:index2.css
body { background:blue; }
如果我当前访问的是/index
,那么背景是red
的,然后切换到/index2
,按需加载载入了index2.css
,所以背景变成了blue
。
这个时候问题来了,如果我又切换回了/index
,那么背景依然会是blue
。
请问在ui-router
或者任何的spa
应用都是如何避免这样的问题的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
最后针对angular,我使用了 angular-css 这个插件,配合ui-router这个能够实现我的需求。
切换了路由,会自动把对应的link去掉(看了下代码,是通过ng-repeat实现的),这样就无需担心冲突的问题了。
这不是加载顺序的问题么,
index2.css
是后加载的,覆盖了index.css
中的样式。为什么不用点儿什么东西区分一下呢,比如:
试试css-modules,不知道是否适合你的场景。
既然能动态加,为什么不能动态的删除咧
动态皮肤怎么弄的你就怎么整呗~~~
你好,欢迎参考我的博客,
使用vue开发微信公众号下SPA站点的填坑之旅