如果您使用以下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()
最终我们会绑定到服务中的某个功能,但第二个功能并不绑定新值。
明确,易于理解,解释会很棒:)
答案 0 :(得分:1)
在第一个版本中,您直接绑定到函数,因此角度检查函数输出是否已更改。在第二个版本中,您只在创建范围时调用该函数,并将countService设置为该值。由于countService现在是一个与计数函数无关的变量,因此它的值不会反映从该函数返回的值。