templates - Mustache section values are overridden -
how output:
<h1>colors</h1> <li><strong>red</strong></li> <li><a href="#green">green</a></li> <li><a href="#blue">blue</a></li>
from template:
<h1>{{header}}</h1> {{#bug}} {{/bug}} {{#items}} {{#first}} <li><strong>{{name}}</strong></li> {{/first}} {{#link}} <li><a href="{{url}}">{{name}}</a></li> {{/link}} {{/items}} {{#empty}} <p>the list empty.</p> {{/empty}}
this data:
{ "header": "colors", "first": true, "items": [ {"name": "red", "first": true, "url": "#red"}, {"name": "green", "link": true, "url": "#green"}, {"name": "blue", "link": true, "url": "#blue"} ], "empty": false }
so first field not overridden.
currently output:
<h1>colors</h1> <li><strong>red</strong></li> <li><strong>green</strong></li> <li><a href="#green">green</a></li> <li><strong>blue</strong></li> <li><a href="#blue">blue</a></li>
i'm testing here.
the first
key defined @ 2 levels: @ item level, , @ root level.
when not defined @ item level, mustache engines digs in, , uses 1 defined @ root level. called mustache context stack, , have learnt hard way.
now answer simple, insn't it? in order prevent mustache engine dig in context stack , first
@ root level, make sure first
defined @ item level, all items. set false
items first.
Comments
Post a Comment