我正在测试Ember,我发现{{each}}现已弃用,我应该{{每个foo in bar}}。
在我的代码中,当我只使用{{each}}时,一切正常。
<ul>
{{#each}}
<li>{{this.url}} - {{this.status}}</li>
{{/each}}
</ul>
但是,它会记录此消息:请使用关键字表单({{#each foo in bar}}
)代替。有关详细信息,请参阅http://emberjs.com/guides/deprecations/#toc_more-consistent-handlebars-scope。
所以,我将我的代码更新为:
<ul>
{{#each b in billing}}
<li>{{b.url}} - {{b.status}}</li>
{{/each}}
</ul>
似乎结算是空的或类似的东西。
我的模特:
import DS from 'ember-data';
// billing.js
export default DS.Model.extend({
status: DS.attr('string'),
url: DS.attr('string')
});
我的路线:
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.store.find('billing');
}
});
Ember控制台:http://prntscr.com/6ibgfh
由于
答案 0 :(得分:3)
问题是每个帮助者都不知道billing
是什么。
{{#each b in billing}}
应该是:
{{#each b in model}}
答案 1 :(得分:0)
还有一个新的"block param" syntax,因此,如果您的模型定义如下:
App.IndexRoute = Ember.Route.extend({
model: function() {
return { notes: ['red', 'yellow', 'blue'] };
}
});
您可以按如下方式循环播放:
{{#each notes as |note| }}
{{ note }}
{{/each}}
工作示例here