Ember按属性名称

时间:2017-01-28 13:45:30

标签: ember.js handlebars.js

我有一个来自我的模型的数组..

[
  {id: 1, name: 'test1', created: true}, 
  {id: 2, name: 'test2', created: false}, 
  {id: 3, name: 'test3', created: true}
]

我有兴趣展示两个清单。我创建了一个组件来显示列表:

../components/created.hbs

<div>
  {{model.name}}
</div>
../main.hbs

<h2> Created true </h2>

{{#each}}
   {{created model=model }}
{{/each}}


<h2> Created false </h2>

{{#each}}
   {{created model=model }}
{{/each}}

第一个列表将显示创建属性设置为true的对象,第二个列表显示创建属性设置为false的对象。

我想知道是否有一种简单的方法可以在Ember中执行上述操作,就像在Angular中一样,您可以在每个块中使用过滤管道。

1 个答案:

答案 0 :(得分:1)

ember.js中的

each语法:

{{#each list as |item|}}
  do what you want with item...
{{/each}}

第一个选项:

所以你可以写一个名为filterBy的{​​{3}},而不是使用它:

{{#each (filterBy list key value) as |item|}}
  do what you want with item...
{{/each}}

第二个选项:

您可以在使用helper的组件中编写一个名为filteredList的{​​{3}}:

{{#each filteredList as |item|}}
  do what you want with item...
{{/each}}

ember.js都可以接受。我通常更喜欢第二个,因为它在组件中具有过滤功能,并且不需要另一个依赖。