处理角度js中两个不同部分之间的编号

时间:2017-07-03 09:20:13

标签: angularjs arrays numbers

我有一个数组,其中我得到json响应并添加了编号(1,2,3 ...)(使用{{index + 1}}到这些值。页面分为两个部分,其中我已经分别使用了两个不同部分的编号。现在问题是,我想将第一部分中的任何项目移动到第二部分,反之亦然,以便编号也保持其顺序。(1,2,3,4。 。)。我不确定该怎么做。

1 个答案:

答案 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;
  });
};

我不认为这是好方法,事实是我不喜欢我的回答。我们会尽力找到最好的..