【问题标题】:How to watch whole array of objects? [duplicate]如何观察整个对象数组? [复制]
【发布时间】:2017-08-21 08:05:01
【问题描述】:

我有一个包含十个对象的数组。它们中的每一个都包含六个属性并显示视图中的所有内容。用户可以通过在输入上键入新数据来更改属性。如何查看整个数组并确定哪个对象上的哪个属性已更改,并且不重复我的代码 10 次以便分别查看每个对象?

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您可以使用$watchCollection

    $scope.$watchCollection('data', function (newVal, oldVal) { /*...*/ });
    

    【讨论】:

      【解决方案2】:

      通常,观看大量对象集合是个坏主意,因为 angularjs 将对每个摘要循环执行相等性检查。如果您确实需要这样做,$scope.$watch 函数有第三个参数objectEquality,您可以在其中传递布尔函数,如果旧值等于新值则返回 true。您也可以将true 传递给第三个参数。

      $scope.$watchCollection(obj, listener); 是另一种选择。

      【讨论】:

        猜你喜欢
        • 2018-12-16
        • 2023-04-02
        • 2019-09-09
        • 2017-10-16
        • 2015-05-08
        • 2015-11-06
        • 2015-03-05
        • 2013-05-30
        • 2012-04-20
        相关资源
        最近更新 更多