如何在Nunjucks中查找当前上下文?

时间:2016-08-02 17:21:36

标签: nunjucks

在Handlebars中,您可以使用this查找当前上下文。

你如何在Nunjucks做同样的事情?

例如,如果要将整个上下文转储为JSON字符串:

<script>window.__config__ = {{ this | dump | safe }};</script>

(但this似乎在Nunjucks中不起作用。)

2 个答案:

答案 0 :(得分:5)

如果您需要context,则可以添加全局功能

var env = nunjucks.configure([...
...
env.addGlobal('getContext', function() { 
    return this.ctx;
})

将她的结果转储到模板

{{ getContext() | dump| safe }}

答案 1 :(得分:0)

我不认为变量this在nunjucks模板上可用,但如果它是您想检查的另一个,则可以使用dump方法。

{{ users | dump }}

这样就会打印json对象,如果你有autoscape,它看起来真的很难看。

{{ users | dump | safe }}

这样可以正常使用

替代:

env.addFilter('pprint', function(str, count) {
    return JSON.stringify(str, null, 4);
});

{{ users | pprint | safe }}