Search code examples
javascripthtmlnode.jsnunjucks

How to dynamically iterate tags attribute with Nunjucks


Let's say I have a desc.json file that looks as following:

{"descr":
 [
    {
       "class":"foo1",
       "name":"bar1",
       "pattern": "^[ 0-9]+$"
    },
    {
       "class": "foo2",
       "name": "bar2"
    }
 ]
}

and data.json file that looks as following:

{"data":
 {
    "bar1": "1925",
    "bar2": "18"
 }
}

In order to render an html as following:

<input class="foo1" value=1925 name="bar1" pattern = "^[ 0-9]+$">
<input class="foo2" value="18" name="bar2">

Using Nunjucks, could someone provide an example?

Thanks


Solution

  • res.render(#template, {descr, data});
    ...
    
    {% for e in descr %}
    <input class="{{e.class}}" value="{{e.name and data[e.name] or ''}}" name="{{e.name}}" pattern = "{{e.pattern}}">
    {% endfor %}