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