所以我在我的 Node.js 应用程序中使用 Nunjucks 作为模板引擎。
我有一个我们会调用的对象var
,它可能是空的,也可能不是空的。
当它为空时,如果我正确地做
{{ var | dump }}
Nunjucks 显示它是一个空对象,显示{}
.
问题是,我找不到任何方法来使用 Nunjuck 的{% if condition %}
语句检查对象是否为空。我已经尝试过var.length
, var | length
, var | first
, 并且只是简单var
的条件,但它们都不起作用,它们都只是评估为真(或假),无论是否var
为空。有谁知道如何解决这个问题?
编辑: using{% if var | dump != '{}' %}
确实有效,但似乎是一个非常hacky的解决方案......
编辑2:我最终只是empty
为满足我需要的对象创建了一个自定义过滤器:
env.addFilter('empty', function(object) {
return Object.keys(object).length === 0;
});