2 回答
TA贡献1911条经验 获得超7个赞
如果我在自己的代码库中解决这个问题,我会@tracked在 Octane 中编写一个 getter 函数,或者在 pre-octane Ember 中编写一个计算属性,将两个数组映射到新对象中。在我看来,将它们映射到对它们之间的关系进行建模的对象中要好得多(而不是依赖于代码库中随处可见的两个单独数组中的每个项目的索引,这不是我觉得直观的东西,而且似乎可能会导致意外的结果)稍后会出现错误)。
假设我有一个姓名列表和一个角色列表。
const names = ['Will', 'Wes', 'Janine'],
roles = ['Father', 'Son', 'Mother'];
const people = names.map((name, idx) => {
return {
name: name,
role: roles[idx]
};
});
您可以推断它作为计算/跟踪属性的外观。关键是我已经成功地对数据进行了逻辑分组。这样,在模板中您就可以:
{{#each people as |person|}}
{{person.name}} is a {{person.role}}
{{/each}}
而不需要同时走到离散的阵列。在 JavaScript 中对数据进行建模,并且模板易于编写/遵循
TA贡献1785条经验 获得超8个赞
这将是
{{#each (get reasons index) as |value|}}
{{value}}
{{/each}}
但我不能 100% 确定是否get适用于数组上的数字索引。
- 2 回答
- 0 关注
- 88 浏览
添加回答
举报