我有一个来自我的模型的数组..
[
{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中一样,您可以在每个块中使用过滤管道。
答案 0 :(得分:1)
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都可以接受。我通常更喜欢第二个,因为它在组件中具有过滤功能,并且不需要另一个依赖。