使用nunjucks,我如何定义一些应该始终在所有模板中可用的全局变量?
理想情况下,它们将在环境或配置选项中的某个位置指定,而不必在每次调用时合并到上下文字典中nunjucksEnvironment.render.
它可能对某人也有帮助。在nunjucks 中处理全局变量时,可以避免编写任何 js 代码。
您需要创建一个_globals.html文件,其中包含所有全局变量。
{% set some_var1 = "Foo" %}
{% set some_var2 = "Bar" %}
Run Code Online (Sandbox Code Playgroud)
然后将_globals.html包含到任何需要全局变量的页面。例如somePage.html
{% import '_globals.html' as globals %}
<span>{{globals.some_var1 }}</span>
<span>{{globals.some_var2 }}</span>
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请查看http://mozilla.github.io/nunjucks/templating.html#set
它没有记录(或可能建议),但这是有效的:
var njglobals = require('nunjucks/src/globals');
njglobals.someVar = 'someValue';
Run Code Online (Sandbox Code Playgroud)
someVar您现在可以在模板中使用。
但请确保不要覆盖对象的任何现有属性njglobals(对于nunjucks@1.0.1,它们是range、cycler和joiner)。
| 归档时间: |
|
| 查看次数: |
8678 次 |
| 最近记录: |