gpt4 book ai didi

javascript - 如何访问 ember 模板中的数组位置?

转载 作者:行者123 更新时间:2023-11-29 19:18:42 26 4
gpt4 key购买 nike

我在尝试在 Ember 中做一件简单的事情时遇到了一些挫折。
我知道所有的困惑都来自于从模板中分离逻辑,但我认为我想要实现的目标并不是那么昂贵。
我有一个模型,它返回一个项目列表,这些项目有一个相关的属性,并且取决于该属性的值是否重复,模板是否应该显示某些内容。
我返回的数据应该是这样的:

[{id :0,
text:"Element 0",
nested_property: {
value:'Value 1'
}
},{id :1,
text:"Element 1",
nested_property: {
value:'Value 1'
}
},{id :2,
text:"Element 2",
nested_property: {
value:'Value 2'
}
},{id :3,
text:"Element 3",
nested_property: {
value:'Value 2'
}
},{id :4,
text:"Element 4",
nested_property: {
value:'Value 1'
}
}]

我想制作的是这样的:

<ul>
<li>
<span>Value 1</span>
<span>Element 0</span>
</li>
<li>
<span>Element 1</span>
</li>
<li>
<span>Value 2</span>
<span>Element 2</span>
</li>
<li>
<span>Element 3</span>
</li>
<li>
<span>Value 1</span>
<span>Element 4</span>
</li>
</ul>

我的第一个想法是:“好吧,我将实际循环的值保存在一个变量上,并在下一个循环中进行比较。如果不同,则覆盖该值。”
由于我们不能使用“if”来比较两个变量,因此我必须创建一个组件来进行比较。这样那部分问题就解决了。
我现在面临的是如何跟踪最后一个循环值,因为我的组件需要它与实际值进行比较。
我无法使用任何这些选项访问循环内的某个元素:

{{#each model as |element key|}}
{{model.0.text}}
{{model[0].text}}
{{model[key-1].text}} <--- That would be awesome if works :D
{{/each}}

有什么想法吗?也许另一种解决问题的方法?

最佳答案

如果您想遍历数组模型,那么您可以执行以下操作:

  {{#each model as |item|}}
{{index}}
{{item.text}}
{{item.nested_property.value}}
{{/each}}

如果你想获取数组模型的最后一个元素,你可以执行以下操作:

{{model.lastObject}}

如果你想获取数组模型的特定元素,你可以执行以下操作:

{{get model '2'}}

一切都很简单:)附言为此你需要使用最新的 ember

关于javascript - 如何访问 ember 模板中的数组位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34071321/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com