$scope.$watch和$watch之间有什么区别吗?

3

我正在学习Angular。从官方文档中没有得到关于$watch的解释。请问有谁能告诉我这是什么意思?

如果将其更改为$scope.$watch会发生什么呢?

对不起,我刚开始学习Angular,这个问题可能有点愚蠢......如果我的知识有误,请指出。


2
据我所知,您不能在没有某种作用域的情况下使用$watch。您在哪里看到的? - Dvir
2个回答

2

没有独立的 $watch 服务。人们说的是 $watch 而不是 $scope.$watch,但它们是一样的。只是说 $scope.$watch 更长而已,并且提到即使与 $scope 相关,它也像一个全新的服务。

但我可能错了,可能有一个名为 $watch 的外部独立服务,但我不这么认为。


是的,我刚开始很困惑 '$watch' 和 '$scope.$watch',似乎没有 '$watch',我们必须使用 '$scope.$watch' 代替。谢谢,这确实对我有帮助。 - santhosh

1

如果您观察一个表达式,您需要一个上下文来解析它。考虑

$watch("foo", handler);

Angular如何知道要监视哪个foo?这只有在作用域的上下文中才有意义。
somescope.$watch("foo", handler);

因此,Angular知道要监视哪个foo。

但是,如果你在谈论一般的监视,许多人为简单起见省略了作用域。但是你应该知道:如果不知道在哪里监视,就无法监视任何东西;)


非常感谢,我明白了。 - santhosh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接