Javascript 如果循环中的最后一个属性不同,则添加元素
我的比赛(如游戏)控制器中有一个包含对象的数组:Javascript 如果循环中的最后一个属性不同,则添加元素,javascript,angularjs,Javascript,Angularjs,我的比赛(如游戏)控制器中有一个包含对象的数组: var tiles = [{name:"test",zPos:0}, {name:"test2",zPos:0}, {name:"test3",zPos:1}, {name:"test4",zPos:2}] 在我的html中,我使用以下内容循环对象: <p ng-repeat="tile in matches.tiles"> z{{tile.zPos}} - {{til
var tiles = [{name:"test",zPos:0},
{name:"test2",zPos:0},
{name:"test3",zPos:1},
{name:"test4",zPos:2}]
在我的html中,我使用以下内容循环对象:
<p ng-repeat="tile in matches.tiles">
z{{tile.zPos}} - {{tile.name}}
</p>
z{{tile.zPos}-{{tile.name}
如何添加一个额外的div,如
<div class="newzindex"></div>
如果tile.zPos属性与上一个循环不同,那么每个唯一的zPos属性都有一个唯一的div。我试图达到的结果是
<p>
z0 - test
</p>
<p>
z0 - test2
</p>
<div class="newzindex"></div>
<p>
z1 - test3
</p>
<div class="newzindex"></div>
<p>
z2 - test4
</p>
z0-测试
z0-测试2
z1-test3
z2-test4
您可以使用ng repeat start
和ng repeat end
指令()
HTML
<p ng-repeat-start="tile in matches.tiles ">
z{{tile.zPos}} - {{tile.tile.name}}
</p>
<div ng-if="matches.tiles[$index + 1].zPos != tile.zPos" ng-repeat-end class="newzindex"></div>
z{{tile.zPos}-{{tile.tile.name}
这让我有点困惑:“不同于上一个循环”与“每个唯一zPos一个唯一的div”。那是哪一个呢?因此,如果我们停留在您的示例中,如果z0
位于z2
之后,那么它是否应该创建一个新的div呢?@johnsmith在循环中(ng repeat)我想看看一个属性是否与上一次迭代相同。如果不是,我想展示一个具体的例子,我建议在问题中重新措辞。(但可能只有我……:)@JohnSmith在这里发表了这样的评论;您是否试图将z0
和z1
等所有内容组合在一起?如果您的数据有z0、z1、z2、z0
,您是想显示z0
两次还是分组在一起?angular不会对每个循环的值进行评估,从而对未来的迭代做出任何决定。…@John Smith他的问题对我来说很有意义。仅当当前迭代中的zpos
与上次迭代中的zpos
不同时,才添加新div。