1

我正在尝试查看控制器中的值。当它发生变化时,我想发送一个广播,但我从来没有进入这个$watch函数。这是功能:

  $scope.$watch($scope.selectedEncounter, function(selectedEncounter) {
    $scope.$broadcast('selecteRowChange', { encounter: selectedEncounter });
  });

我可以观看附在示波器上的东西吗?如果是这样,我对这段代码有什么问题。如果没有,我如何实现此代码才能工作?

4

2 回答 2

3

您应该将 afunction或属性名称传递给您的$watch函数。

因此,在您的情况下,您应该将代码更改为:

$scope.$watch('selectedEncounter', function(value) {
  // ...
});

这是来自文档的更多信息。

于 2013-10-21T17:47:46.320 回答
1

您正在观看的对象是一个复杂的对象。因此,您应该在代码中设置objectEquality如下true

$scope.$watch('selectedEncounter', function(selectedEncounter) {
// ....
}, true);

请注意该true值作为$scope.$watch函数末尾的最后一个参数。

于 2013-10-21T17:56:27.080 回答