我有一个数组,其中我得到json响应并添加了编号(1,2,3 ...)(使用{{index + 1}}到这些值。页面分为两个部分,其中我已经分别使用了两个不同部分的编号。现在问题是,我想将第一部分中的任何项目移动到第二部分,反之亦然,以便编号也保持其顺序。(1,2,3,4。 。)。我不确定该怎么做。
答案 0 :(得分:0)
假设您的JSON响应为$scope.results
目前正在进行的HTML
(第一部分)
<ul>
<li ng-repeat="result in results">
{{$index}} {{result.name}}
</li>
</ul>
修改第一部分代码如下
<ul>
<li ng-repeat="result in results">
{{result.i}} {{result.name}}
</li>
</ul>
维持&#39;我&#39;控制器中的值,从JSON响应中获得结果后执行此操作
angular.forEach($scope.results, function(result, responseIndex) {
result.i = responseIndex;
});
在控制器中,你在移动后编写一个方法(例如:在拖放时,在放下后调用方法)
$scope.drop = function () {
angular.forEach($scope.results, function(result, resultIndex) {
result.i = resultIndex;
});
};
在第二部分也这样做
<ul>
<li ng-repeat="secResult in secResults">
{{secResult.i}} {{secResult.name}}
</li>
</ul>
在拖动方法中添加代码
$scope.drop = function () {
angular.forEach($scope.results, function(result, resultIndex) {
result.i = resultIndex;
});
angular.forEach($scope.secResults, function(secResult, secResultIndex) {
secResult.i = secResultIndex;
});
};
我不认为这是好方法,事实是我不喜欢我的回答。我们会尽力找到最好的..