如何获得此输出:
<h1>Colors</h1>
<li><strong>red</strong></li>
<li><a href="#Green">green</a></li>
<li><a href="#Blue">blue</a></li>
从这个模板:
<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 is empty.</p>
{{/empty}}
此数据:
{
"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
}
这样就不会覆盖第一个字段。
目前我得到了这个输出:
<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>
我正在测试here。
答案 0 :(得分:2)
first
键定义在两个级别:项目级别和根级别。
如果未在项目级别定义,则Mustache引擎会深入挖掘,并使用在根级别定义的引擎。这被称为Mustache上下文堆栈,您刚刚学会了它。
现在答案很简单,不是吗?为了防止Mustache引擎深入上下文堆栈并在根级别查找first
,请确保在项目级别定义first
所有项目。对于除第一个项目之外的所有项目,将其设置为false
。