在我./inc/footer.jade
我有一堆脚本标签。我想仅在一个特定的路线上提供额外的脚本。如何实现这一目标?
我可以做控制器:
res.render('someTemplate', {
extraScript: true
});
并在footer.jade
- if (extraScript)
<script src="/script.js"></script>
但是我必须在每一条路线中包含这个'extraScript'变量(设置为false)。
答案 0 :(得分:1)
您可以使用typeof
检查变量是否存在。
- if (typeof extraScript !== 'undefined')
<script src="/script.js"></script>
通过这种方式,对于不需要其他脚本的所有路由,您只是不传入extraScript
,然后在模板中,typeof extraScript !== undefined
将被评估为{{1 }}
答案 1 :(得分:0)
extraScript解决方案有效,但我相信更好的解决方案是使用模板继承(阻止和扩展关键字)。这样您就不必在模板中添加逻辑和局部变量,并且仍然可以在您的玉标记中保留DRY。