我试图在不同的情况下显示adultJsonArr的详细信息,我希望在没有编写冗长代码的情况下将其保存在操作中。
我不知道如何在迭代时使用索引,我尝试了第5行但是没有用(@index也无法为我做的工作)。
有关如何保存对adultJsonArr中输入所做更改的任何建议
1.<form>
2. {{#each adultJsonArr as |adultTravellerDetails index|}}
3. <div id="adult_form{{index}}">
4. Adult{{index}}:
5. <input type="text" value="{{adultJsonArr.[index].traveller_name}}" required>
6. <input type="dob" value="{{adultTravellerDetails.traveller_dob}}">
7. <input type="text" value="{{adultTravellerDetails.traveller_gender}}" required>
8. </div>
9. {{/each}}
10. <div {{action "confirmTravellerUpdate" adultJsonArr }}>
11. {{mdl-button text='submit'}}
12. </div>
13.</form>
答案 0 :(得分:0)
您可以将{{adultJsonArr.[index].traveller_name}}
替换为{{adultTravellerDetails.traveller_name}}
。
答案 1 :(得分:0)
如果您想从阵列中访问某个元素,则不应在模板中执行此操作。 ember开发者很难这样做,因为它可能会给模板带来很多逻辑。请使用计算属性或帮助程序从集合中检索元素。
E.g。您可以创建一个辅助函数来接收集合和索引并返回所需的项目。
import { helper } from '@ember/component/helper';
export function colItem(params) {
return params[0][params[1]];
}
export default helper(colItem);
在你的模板中:
{{helper-name collection 5}}
但请记住,为此你需要一个数组来工作。如果您想访问其他集合中的项目,则必须相应地处理此项目。
答案 2 :(得分:0)
索引应该仅用于显示目的。无需在adultJsonArr
的当前索引中查找内容,因为您已有权访问adultTravellerDetails
。
话虽如此,如果你真的有一些用例,你需要在当前索引处查找数组的值,(或者你可能还有一些其他带元数据的排序数组要查找通过索引?)你可以这样做:
{{get adultJsonArr (concat index ".traveller_name")}}
我们正在构建concat
get
的路径,以便adultJsonArr
查找test <- array(dim = c(3,5,7))
test[1,,] <- 1
test[2,,] <- 10
test[3,,] <- 100
vec <- c(1,2,3)
。这感觉有点hacky,但它确实有效。