AngularJS使用索引监视对象数组

Jel*_*ets 4 javascript highcharts angularjs

我在一个对象数组中有一个关于Angular watch的问题.

我有一个数组$ scope.chartSeries与对象如下:

[{"location": {values}, "id":"serie-1", "meter":{values}, "name": "seriename", "data":[{1,2,4,5,7,4,6}]}]
Run Code Online (Sandbox Code Playgroud)

这用于绘制带有highcharts的折线图.

我想看这个数组,如果值发生变化,我想知道索引和正在改变的值.

我找到了几种手表选择,但它们似乎都不适合我的情况.你能帮我吗?

Art*_*ich 7

如果渲染并更改了数组ng-repeat,则可以使用ng-change指令并传入一个$index参数.

例如:

<div ng-repeat="item in array">
   <input type="text" ng-model="item.location" ng-change="changeValue($index)"/>
</div>
Run Code Online (Sandbox Code Playgroud)

或者你可以使用$watch和一起工作newValue,oldValue参数

$scope.$watch('array', function (newValue, oldValue) {
   for(var i = 0; i < newValue.length; i++) {
      if(newValue[i].location != oldValue[i].location)
        var indexOfChangedItem = i;
        //bla-bla-bla
   }
}, true);
Run Code Online (Sandbox Code Playgroud)