在我的项目中使用了把手。我有2个对象要传递给模板。外部循环只能工作,内部循环不起作用。
我的js代码
var ListCount =[{},{},{}];
var ListValues =[{height: "12"},{height: "13"},{height: "14"}];
所以我在模板中传递这个值
<tbody id="flavandMapTable" class="table-body">
{{#each ListCount }}
<tr> <td class="column">
<select class="input-option-call " >
<option>Select</option>
{{#each ListValues }}
<option value="{{height}}">{{height}}</option>
{{/each}}
</select>
</td>
</tr>
{{/each}}
我能够获得3行,但行内的值不会出现。我知道我做错了什么
答案 0 :(得分:2)
我对handlebar.js
不是很熟悉,但你可以试试这个,
{{#each ListValues }}
<option value="{{this.height}}">{{this.height}}</option>
{{/each}}
或者制作online demo
代码。
已更新尝试此操作,
<强>模板强>
<tbody id="flavandMapTable" class="table-body">
{{#each ListCount}}
<tr><td class="column">
<select class="input-option-call">
<option>Select</option>
{{#each ../this/ListValues}}
<option>{{this.height}}</option>
{{/each}}
</select>
</td>
</tr>
{{/each}}
</tbody>
<强>的Javascript 强>
{
"ListCount" :[{height: "1"},{height: "2"},{height: "3"}],
"ListValues" :[{height: "12"},{height: "13"},{height: "14"}]
}
上进行测试
答案 1 :(得分:1)
这是我的工作代码,
var list = {}
list.ListCount=[{height: "1"},{height: "2"},{height: "3"}];
list.ListValues=[{height: "12"},{height: "13"},{height: "14"}];
{{#each list.ListCount}}
<tr>
<td class="column">
<select class="input-option-call " >
<option>Select</option>
{{#each ../this/list.ListValues }}
<option value="{{height}}">{{height}}</option>
{{/each}}
</select>
</td>
</tr>
{{/each}}
答案 2 :(得分:0)
我认为问题出在上下文中:最里面的each
正在ListValues
(最外面的ListCount
)内搜索each
。
我从未使用过两个变量作为上下文,但如果这是一个单独的上下文,就像这样:
{
count: [ {}, {}, {} ],
values: [
{ height: 12 },
{ height: 13 },
{ height: 14 }
]
}
...然后最里面的each
将{{#each ../values}}
通知车把这些值是当前上下文(count
)的一级。
jsFiddle here。
答案 3 :(得分:0)
Handlebar只能使用一个Context,即JSON。它不适用于两个JSON。
所以参考@ssarabando,示例上下文。您可以按如下方式更改Handlebar模板
<强>上下文强>
{
ListCount: [ {}, {}, {} ],
ListValues: [
{ height: 12 },
{ height: 13 },
{ height: 14 }
]
}
Handebar模板:
<tbody id="flavandMapTable" class="table-body">
{{#each ListCount}}
<tr> <td class="column">
<select class="input-option-call " >
<option>Select</option>
{{#each ../ListValues}}
<option value="{{height}}">{{height}}</option>
{{/each}}
</select>
</td>
</tr>
{{/each}}
</tbody>