So I'm using Nunjucks as the templating engine in my Node.js application.
I have an object we'll call var
which may or may not be empty.
When it is empty, if I do {{ var | dump }}
{{ var | dump }}
Nunjucks properly shows that it is an empty object, displaying {}
.
The problem is, I can't find any way to check if the object is empty using Nunjuck's {% if condition %}
statement. I have tried var.length
, var | length
var | length
, var | first
var | first
, and just plain var
for the condition, but none of them work, they all just evaluate to true (or false), regardless of whether or not var
is empty. Does anyone know how to solve this?
EDIT: using {% if var | dump != '{}' %}
{% if var | dump != '{}' %}
does work, but seems like a really hacky solution...
EDIT 2: I ended up just creating a custom empty
filter for objects which does what I need:
env.addFilter('empty', function(object) {
return Object.keys(object).length === 0;
});
Support for accessing an object's length with the length
filter was recently added in Nunjucks 2.5.0 .
So you can now use:
{% if var|length %}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.