Ember使用每个

时间:2015-03-18 15:14:04

标签: javascript ember.js

我正在测试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

由于

2 个答案:

答案 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