一尘不染

AngularJS / ng-grid-使用拼接更新数组不会更新UI

angularjs

我正在尝试使用array 更新 ng-gridsplice。我
这里 有个小伙伴。

添加按钮添加新行。更新按钮更新阵列中的最后一项。

  1. 选择一行并按更新按钮。没发生什么事。
  2. 按添加按钮。现在,UI将使用新元素&以及以前更新的元素进行更新。
  3. 相同的行为一次又一次地重复。

我试过了$scope.$apply。我得到:

“错误:$ apply已经在进行中”

我什至尝试通过将$scope.$apply块放置在setTimeout呼叫中来进行尝试。同样是同样的错误!

任何指针!

谢谢!


阅读 300

收藏
2020-07-04

共1个答案

一尘不染

这是因为ng-grid中的data $ watcher(错误地)比较了数据对象以供参考,而不是对象相等。您可以通过在data $
watch函数
(第3128行)中将第三个参数设置为true来解决此问题:

$scope.$parent.$watch(options.data, dataWatcher, true);

柱塞

2020-07-04