Nunjucks 如何在Nunjuck中查找当前上下文?
在车把中,您可以使用Nunjucks 如何在Nunjuck中查找当前上下文?,nunjucks,Nunjucks,在车把中,您可以使用此查找当前上下文 你在修女院怎么做 例如,如果要将整个上下文作为JSON字符串转储: <script>window.__config__ = {{ this | dump | safe }};</script> window.uu-config_uuu={{this | dump | safe}}; (但是这个在Nunjucks中似乎不起作用。)我想您不知道变量这个在Nunjucks模板上是可用的,但是如果您想检查另一个变量,可以使用dump方法
此
查找当前上下文
你在修女院怎么做
例如,如果要将整个上下文作为JSON字符串转储:
<script>window.__config__ = {{ this | dump | safe }};</script>
window.uu-config_uuu={{this | dump | safe}};
(但是
这个在Nunjucks中似乎不起作用。)我想您不知道变量这个在Nunjucks模板上是可用的,但是如果您想检查另一个变量,可以使用dump
方法
{{users | dump}}
这将打印json对象,如果打开autoscape,它看起来非常难看
{{users | dump | safe}}
这就行了
或者:
env.addFilter('pprint', function(str, count) {
return JSON.stringify(str, null, 4);
});
{{users | pprint | safe}}
我不认为变量此
在nunjucks模板上可用,但如果您希望检查另一个变量,可以使用dump
方法
{{users | dump}}
这将打印json对象,如果打开autoscape,它看起来非常难看
{{users | dump | safe}}
这就行了
或者:
env.addFilter('pprint', function(str, count) {
return JSON.stringify(str, null, 4);
});
{{users | pprint | safe}}
如果需要上下文
,则可以添加全局函数
var env = nunjucks.configure([...
...
env.addGlobal('getContext', function() {
return this.ctx;
})
并将结果转储到模板中
{{ getContext() | dump| safe }}
如果需要上下文
,则可以添加全局函数
var env = nunjucks.configure([...
...
env.addGlobal('getContext', function() {
return this.ctx;
})
并将结果转储到模板中
{{ getContext() | dump| safe }}
模板呈现错误:TypeError:将循环结构转换为JSON
注意,我根本没有向模板添加任何内容。此错误意味着您尝试转换为字符串自引用对象:var obj={a:10};obj.b=obj;log(JSON.stringify(obj))代码>(过滤器转储等于JSON.stringify
)。您可以将自己的筛选器(例如,print
定义为console.log(obj)
,以避免使用dump
(=JSON.stringify
)进行调试。Bro我直接插入了您的代码,并出现了此错误。您的上下文包含自引用对象(通常不是),因此当您调用dump
筛选器时(等于JSON.stringify
)然后出现错误。为了避免错误,您必须使用其他筛选器:例如,您可以编写自定义筛选器print
,以将上下文输出到控制台。我不确定原因。我没有向模板或控制器添加任何内容。模板呈现错误:类型错误:将循环结构转换为JSON
注意,我当时没有向模板添加任何内容所有。此错误意味着您尝试转换为字符串自引用对象:var obj={a:10};obj.b=obj;console.log(JSON.stringify(obj));
(筛选器转储等于JSON.stringify
)。您可以将自己的筛选器定义为print
作为console.log(obj)
,以避免使用dump
(=JSON.stringify
)用于debug.Bro我直接插入了您的代码并出现此错误。您的上下文包含自引用对象(通常不是),因此当您调用dump
过滤器时(等于JSON.stringify
)然后出现错误。为了避免错误,您必须使用其他筛选器:例如,您可以编写自定义筛选器print
,以将上下文输出到控制台。我不确定原因。我没有向模板或控制器添加任何内容。