Javascript 为什么一个AngularJS服务绑定工作,而另一个不工作';T

Javascript 为什么一个AngularJS服务绑定工作,而另一个不工作';T,javascript,angularjs,Javascript,Angularjs,如果您采取以下措施,您将看到一个简单的服务-增加一个计数,并将其报告给用户 我试图理解的是,为什么会这样做(单击向用户报告增量)——绑定到视图中的函数: 从HTML中 <p> This is my countService variable : {{countService()}}</p> <p> This is my countService variable : {{countService}}</p> 以及为什么这不起作用-将函数绑定到作

如果您采取以下措施,您将看到一个简单的服务-增加一个计数,并将其报告给用户

我试图理解的是,为什么会这样做(单击向用户报告增量)——绑定到视图中的函数:

从HTML中

<p> This is my countService variable : {{countService()}}</p>
<p> This is my countService variable : {{countService}}</p>
以及为什么这不起作用-将函数绑定到作用域:

从HTML中

<p> This is my countService variable : {{countService()}}</p>
<p> This is my countService variable : {{countService}}</p>
最终我们将绑定到服务中的一个函数,尽管第二个函数不绑定新值


一个清晰、易于理解的解释会很好:)

在第一个版本中,您直接绑定到函数,以便检查函数输出是否已更改。在第二个版本中,当创建范围并将countService设置为该值时,只调用函数一次。由于countService现在是一个与计数函数无关的变量,因此其值不会反映该函数返回的值

啊,好的。我想我现在明白了。那么,在控制器中运行$watch..ing服务功能的是一个快捷方式吗?