【问题标题】:angularjs $watch get index of changed array itemangularjs $watch 获取更改数组项的索引
【发布时间】:2015-06-12 03:48:00
【问题描述】:

我有一个由多个对象组成的数组。

    $scope.userCompetences = [];

现在我对这个数组有一个深入的观察来检查变化:

    $scope.$watch('userCompetences', function (newVal, oldValue) {
    if(oldValue.length > 0)
    {
        var i = 0; // do something
    }
}, true);

现在我的问题是如何获取已更改的数组中对象的索引?

【问题讨论】:

    标签: javascript arrays angularjs watch


    【解决方案1】:

    发生这种情况时您是否尝试只调用一个函数?

    <div ng-repeat="item in userCompetences">
       <input type="text" ng-model="item.name" ng-change="change_function($index)"/>
    </div>
    

    【讨论】:

    • 我觉得这并没有回答问题,尽管提出问题的人认为这对他们有用。假设数据模型没有指向模板的链接,并且提出问题的人正是他所问的问题:“使用 $watch 检测数组中发生了什么变化的最佳方法是什么?”
    • 使用$watch 的唯一原因是当你想$watch $scope。拥有 $scope 的唯一原因是拥有一个模板。当你想查看一个数组是否发生了变化,你可以使用纯 JavaScript。
    • 我会补充一点,我用 $watch 尝试了一段时间但失败了。然后我找到了这个答案并很快得到了我想要的并继续前进。
    猜你喜欢
    • 1970-01-01
    • 2017-12-18
    • 2015-01-23
    • 2014-08-25
    • 1970-01-01
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    相关资源
    最近更新 更多