我想添加一个简单的选择'存储对象的属性,只是本地化到特定的路由/控制器。
因此,在我的控制器中,我正在加载'群组'从商店。对于每个小组'我想添加一个' select'属性。尝试了一些不同的方法,但却无法使其发挥作用。
关于" ember方式的建议"非常感谢。
答案 0 :(得分:1)
如果您尝试做的是为每个被选中的组显示不同的内容。我采取以下方法:
我在您所选择的组的控制器上创建一个数组,该数组可以是来自商店的组对象数组,也可以只是一组数组。选择/取消选择组时,可以将其添加到阵列中或从阵列中删除。然后,您可以使用计算函数或将selectedGroups传递到组件中,以便对selectedGroups执行任何操作。
所以,如果你有这样的组模板:
{{#each model as |group|}}
{{my-item-component item=group selectedItems=selectedGroups}}
{{/each}}
然后在my-item-component.js
中,您将拥有一个计算函数,如:
isSelected: computed('item', 'selectedItems.[]', function () {
// This assumes selectedItems contains item/group objects rather
// than ids. You will need to tweak a little for ids.
return (this.get('selectedItems').indexOf(this.get('item')) !== -1);
})