繁体   English   中英

为什么一个AngularJS服务绑定起作用而另一个不起作用

[英]Why does one AngularJS service bind work but the other doesn't

如果您使用以下Plunkr,您将看到一个简单的服务-递增计数并将其报告给用户。

我想了解的是为什么它起作用( 增量是在单击时报告给用户的 )-绑定到视图中的函数:

从HTML

<p> This is my countService variable : {{countService()}}</p>

从控制器

$scope.countService = testService.getCount

以及为什么这样不起作用-将函数绑定到范围:

从HTML

<p> This is my countService variable : {{countService}}</p>

从控制器

$scope.countService = testService.getCount()

最终,我们将绑定到服务中的一个函数,尽管第二个不绑定新值。

清晰,易于理解的解释非常有用:)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM