Nunjucks scoped variable declarations
1 min read
We have to pay attention where we set Nunjucks variables because they are scoped
{% set animals = ['π±', 'πΆ', 'πΊ'] %}
{% for item in animals %}
{% set animal = item %}
{% endfor %}
{{ animal }}
{# animal -> ERROR #}
{# animal declared INSIDE the loop is NOT available #}
{% set animals = ['π±', 'πΆ', 'πΊ'] %}
{# note this declaration #}
{% set animal = '' %}
{% for item in animals %}
{% set animal = item %}
{% endfor %}
{{ animal }}
{# animal declared OUTSIDE the loop is available #}
{# animal -> πΊ (last array item) #}
π More info