Angularjs 在Angular中,如何在一个$digest循环中更改两个数组?

Angularjs 在Angular中,如何在一个$digest循环中更改两个数组?,angularjs,Angularjs,在对的回答中,@misko hevery提到 '假设您有两个阵列,出于任何原因需要保持同步,…' 我也有同样的问题。假设我有两个数组:刀和叉。我想更改它们,只触发一个事件,只更新一次UI。示例代码在这里() 我在这里复制了javascript代码: var app = angular.module('app',[]); function Main($scope){ console.log("initialize controller Main"); $scope.value="a";

在对的回答中,@misko hevery提到

'假设您有两个阵列,出于任何原因需要保持同步,…'

我也有同样的问题。假设我有两个数组:
。我想更改它们,只触发一个事件,只更新一次UI。示例代码在这里()

我在这里复制了javascript代码:

var app = angular.module('app',[]);

function Main($scope){
  console.log("initialize controller Main");
  $scope.value="a";
  $scope.$watch("newItem",function(newValue){
    $scope.knives=["a","b","c", newValue];
    $scope.forks=["d","e","f", newValue];
  });
}
我的问题是对刀叉的更改将触发多少脏的检查循环?
如果不止一次,是否可以让它只发射一次?

angular docs网站上的教程可能会有所帮助。如果您还没有经历过端到端的测试,那么花时间回答您的广泛问题是非常值得的,因为没有更多关于UI如何工作以及两个阵列如何交互的上下文。一个简单的演示也有助于感谢您的评论。我在这里添加了示例代码。更改事件(手表)仅在摘要阶段启动,这意味着在示例中它只启动一次。您可以通过为
添加手表来测试它