gpt4 book ai didi

javascript - $index 的 ng-repeat track 打破了图像字段排序

转载 作者:行者123 更新时间:2023-11-29 10:39:13 25 4
gpt4 key购买 nike

我有一个包含几列的 ng-repeat 表。其中一列是图像字段。这是包含图像列和其他列之一的片段:

    <tbody>
<tr ng-repeat="insight in insights | orderBy:sort track by $index">
<td>
<select ng-model="insight.type" ng-change="setType(insight)" required="required">
<option value="INSIGHT">Insight</option>
<option value="EVIDENCE">Evidence</option>
</select>
</td>
<!--Image thing-->
<td>
<a ng-href="{{:: insight.imgurl}}" target="_blank"><img class="full" wb-lazy-load-image="{{:: insight.imgurl}}" data-height="600" data-width="800"></a>
</td>
...
</tbody>

就目前而言,当我单击按列排序时,所有列都按其关联的行排序,图像行除外;它停留在同一个地方。

如果我删除 track by $index代码在 <tr>它按预期对所有列重新排序。

知道为什么或我可以做些什么来解决这个问题吗?

编辑:FWIW-sort在我的 Controller 中定义为:$scope.sort = ['-primary', '-live'];

编辑(解决方案):我最终按照接受的答案中的建议删除了一次性绑定(bind),并解决了这个问题。然而,经过一番考虑,我们决定宁愿获得一次延迟加载的性能增益,也不愿使用 track by。性能,因为列表会很小。

对于遇到此问题的任何其他人,在这种情况下,有一次将图像与 $index 跟踪结合使用似乎是问题所在。

最佳答案

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="orderByExample">
<script>
angular.module('orderByExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.friends =
[{name:'John', phone:'555-1212', age:10,sort:['-age','-name']},
{name:'Mary', phone:'555-9876', age:19,sort:['-age','-name']},
{name:'Mike', phone:'555-4321', age:21,sort:['-age','-name']},
{name:'Adam', phone:'555-5678', age:35,sort:['-age','-name']},
{name:'Julie', phone:'555-8765', age:29,sort:['-age','-name']}];
}]);
</script>
<div ng-controller="ExampleController">
<table class="friend">
<tr>
<th>Name</th>
<th>Phone Number</th>
<th>Age</th>
</tr>
<tr ng-repeat="friend in friends | orderBy:sort track by $index">
<td>{{friend.name}}</td>
<td>{{friend.phone}}</td>
<td>{{friend.age}}</td>
</tr>
</table>
</div>
</body>

根据 AngularJS 文档:

一个可能对你有帮助的例子:

<div ng-repeat="model in collection | orderBy: 'id' as filtered_result track by model.id">
{{model.name}}
</div>

关于javascript - $index 的 ng-repeat track 打破了图像字段排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31995060/

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