我在路线中定义了一个哈希值。我想访问此哈希并在我的Ember视图中输出值。
路线/服务signups.js
model: function(){
return Ember.RSVP.hash({
defaultServiceSignups: {
service_1: false,
service_2: false,
service_3: true
}
});
}
在我看来( service-signups.hbs ),我试图遍历我的哈希并输出值:
{{#each model.defaultServiceSignups }}
{{@key}} Value = {{this}}
{{/each}}
为什么我在视图中看不到任何内容?它完全是空白的。
修改1:
我试图看看如果哈希是空的,我是否可以输出任何内容,但即使下面的代码也没有输出任何内容:
{{#each model.defaultServiceSignups }}
<li>Something is present</li>
{{else}}
<li>Sorry nothing is there</li>
{{/each}}
答案 0 :(得分:1)
使用each-in
的新2.0
辅助工具。
{{#each-in model.defaultServiceSignups as |key value| }}
{{key}} Value = {{value}}
{{/each-in}}
请参阅文档here
另外,从文档中 - 请注意,此帮助程序未绑定。向项目添加新属性不会导致重新呈现,但model.set('defaultServiceSignups', someHash)
将会。
Pre Ember 2.0 -
您可以使用以下正文创建帮助hash-printer
:
hash = params[0]
string = ''
Object.keys(hash).forEach (key) =>
string += key + ' Value = ' + hash[key] + '<BR>'
return Ember.String.htmlSafe(string)
并称之为:
hash-printer model.defaultServiceSignups
如果您需要更复杂的功能,请创建一个组件,将哈希值传递给它,并以与我所概述的帮助程序类似的方式处理它。