[英]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.