In Zweig Ich habe Bediener und Test für leere Variable (String oder Array) ist:Test auf leere Variable in Swig Vorlage
{% if info is empty %}
...
{% endif %}
Wie ich so etwas wie dies in Swig Vorlage tun kann?
In Zweig Ich habe Bediener und Test für leere Variable (String oder Array) ist:Test auf leere Variable in Swig Vorlage
{% if info is empty %}
...
{% endif %}
Wie ich so etwas wie dies in Swig Vorlage tun kann?
einfach tun
{% if !info.length %}
...
{% endif %}
Dies wird Strings entsprechen (""
), Arrays ([]
) und jedes andere Objekt, das keine .length
Eigenschaft mit truthy Wert hat.
{% if Object.keys(info).length != 0 %}
für ein Objekt/dict leer Test
Beachten Sie, dass, wenn Sie einen nicht definierten Wert von einem Nullwert in einem Feld mit Nummerntyp zu differenzieren wollen, müssen Sie tun:
//this test will be true only on undefined values
{% if !field and field!==0 %} // note the double = !!. indeed in swig and in js !undefined and !0 are both true values
// this one will be true for undefined and 0 value fields
{% if !field %}
{% if Object.length > 0 %}
{% endif %}
Ja. Swig hat keine "Tests" wie Jinja und Twig. Es gibt besser unterstützte integrierte Funktionen, die wie in dem hier angegebenen Beispiel direkt in JavaScript übersetzt werden. –
Hey Paul, Swig ist wirklich nett und ich hätte es früher wissen müssen. Eine Frage: Was ist der beste Weg zu überprüfen, ob ein Element in einem Array ist - ich würde dafür einen Filter schreiben, oder? – sebilasse