Проверить, пуст ли объект в Нанджаксе

Поэтому я использую Nunjucks в качестве механизма шаблонов в своем приложении Node.js.

У меня есть объект, который мы назовем var, который может быть пустым, а может и не быть.

Когда он пуст, если я делаю {{ var | dump }}, Nunjucks правильно показывает, что это пустой объект, отображая {}.

Проблема в том, что я не могу найти способ проверить, пуст ли объект, используя оператор Nunjuck {% if condition %}. Я пробовал var.length, var | length, var | first и просто var для условия, но ни один из них не работает, все они просто оцениваются как истина (или ложь), независимо от того, является ли var пустым. Кто-нибудь знает, как это решить?

РЕДАКТИРОВАТЬ: использование {% if var | dump != '{}' %} действительно работает, но кажется действительно хакерским решением...

РЕДАКТИРОВАТЬ 2: в итоге я просто создал собственный фильтр empty для объектов, который делает то, что мне нужно:

env.addFilter('empty', function(object) {
    return Object.keys(object).length === 0;
});

person Mogzol    schedule 19.06.2016    source источник


Ответы (1)