<div class="nav-menu clearfix">
<ul class="list-unstyled list-inline">
{{#each MI in MB}}
<li id=""><span>{{ MI.MText }}</span></li>
{{else}}
{{MB}}
{{/each}}
</ul>
</div>
我希望将MB与每个循环。
但它不起作用并返回MB是空的。
但我得到了其他的。
[object Object],[object Object],[object Object],[object 对象],[对象对象]
这是我的路线定义
//application路由
App.ApplicationRoute = Ember.Route.extend(App.LazyLoadTemplate, {
model : function() {
return Ember.$.getJSON("/index/indexjson");
}
});
获取json数据
{
'UIB':{...},
'MB':[{...},{...},...,{...}]
}
我的英语不好,谢谢你的帮助!
答案 0 :(得分:3)
如您所见,您的财产范围不正确。只是为了直接设置记录,Ember-Handlebars不会像在数组上那样迭代一个对象。另外,else语句是完全合法的,当迭代的数组为空时它将被触发(null / undefined / no elements)
{{#each item in model}}
{{item}}
{{else}}
No Items
{{/each}}
答案 1 :(得分:0)
编辑为主人在他的回答中指出,这个回应引用了错误版本的把手。
您在模板中滥用了块助手each
。把手each
与对象和数组的工作方式类似。此外,您在else
块之外有一个if
。重写您的模板如下:
<div class="nav-menu clearfix">
<ul class="list-unstyled list-inline">
{{#each MB}}
<li id=""><span>{{ MText }}</span></li>
{{/each}}
</ul>
</div>