我将我的管理面板和客户页面合而为一Vue.js project
。css-files
仅当当前路由具有"forAdmin"
meta时才可以使用确定性吗?
通过style-loader
与可用的API结合使用,您可以在代码中动态应用和删除样式表。
首先,您需要更新您的webpack配置规则,以便具有.useable.css
扩展名的样式表将使用可用的API加载:
{
test: /\.css$/,
exclude: /\.useable.css$/,
use: [
'style-loader',
'css-loader'
]
},
{
test: /\.useable\.css$/,
use: [
'style-loader/useable',
'css-loader'
]
}
现在,在路由器代码文件中,您可以导入样式表,.use()
然后.unuse()
根据您的条件进行导入:
import style from './admin.useable.css'
const router = new VueRouter(...)
router.afterEach((to, from) => {
for (const route of to.matched) {
if (route.meta.forAdmin) {
style.use()
}
}
for (const route of from.matched) {
if (route.meta.forAdmin) {
style.unuse()
}
}
})
确保在总数.use()
和.unuse()
调用之间保持平衡,因为在后台会保留一个引用计数,以便确定何时应应用样式表。
我不确定您的设置是什么,因此可能会有更好的方法来执行您想要的操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句