是否可以根据页面路径在布局模板中设置jade条件?是否有页面路径变量?我希望做的事情如下:
if page = "/about"
link(rel='stylesheet', href='css/about')
else
link(rel='stylesheet', href='css/main')
这是布局模板的一部分。在哪里以及如何定义变量来驱动它?
答案 0 :(得分:4)
是的,有可能:
- var page = window.location.pathname
if page === "/about"
link(rel='stylesheet', href='css/about.css')
else
link(rel='stylesheet', href='css/main.css')
请注意,上面的代码片段假设模板在浏览器环境中执行。如果不是这种情况,您可以使用您正在使用的语言获取路径名,并将其作为基准传递给模板。例如,如果您使用的是Express框架,request
对象的path
属性将返回URL的路径部分。
答案 1 :(得分:0)
取决于您的设置
快递:
res.locals.cssPath = 'css/about.css';
res.render('about');
玉: 我不确定这里的语法,因为我不使用jade但你可以访问本地
link(rel='stylesheet', href=cssPath)
答案 2 :(得分:0)
我会在express中使用req.path动态设置路径:
res.locals.path = req.path;
res.render('about');
然后在玉文件中使用路径:
if path === "/about/"
link(rel='stylesheet', href='css/about.css')
else
link(rel='stylesheet', href='css/main.css')