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

时间:2015-11-07 18:37:58

标签: javascript angularjs

我正在学习角度。我没有从角度文档中获得任何想法,任何人都可以告诉我什么是$ watch

如果我们将其更改为$ scope.$watch

,会发生什么

抱歉,我对这个问题很陌生这个问题看起来有点傻......如果我的知识错了

2 个答案:

答案 0 :(得分:2)

没有独立的$ watch服务。人们说<div data-role="page" id="main"> <div data-role="content"> <ul data-role="listview" id="listing"> </ul> <button onclick="loadList()">Click</button> </div> </div> <script> var c1 = 0; var c2 = 10; function loadList() { $('#listing').empty(); location.reload(); // <- comment this or remove for(var i = c1; i<c2; i++) { $('#listing').append('<li>'+i+'</li>'); } c1+=1; c2+=1; }; </script> 而不是$watch,但它是一样的。只需更长时间就可以说$ scope。$ watch,这只是提到,即使它与$ scope有关,他也就像一个全新的服务。

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

答案 1 :(得分:1)

如果您观看表达式,则需要用于解析表达式的上下文。考虑

$watch("foo", handler);

角度应该如何知道要观看的 foo ?它只在范围的上下文中有意义

somescope.$watch("foo", handler);

如此有棱有角地知道要看什么 foo。

但如果你一般都在谈论手表,很多人为了简单起见省略了范围。但是你应该知道:如果你不知道哪里要观看,你就无法注意;)