2014-07-10 42 views
0

如果你采取以下Plunkr你会看到一个简单的服务 - 增加计数,它被报告给用户。为什么一个AngularJS服务绑定工作,但其他没有

什么我想明白的是为什么这个工程(增量报告给用户在点击) - 视图绑定功能:

从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() 

最后我们结合到服务中的函数,但第二个不绑定新值。

一个清晰,易于理解,解释将是巨大的:)

回答

1

在你直接绑定到功能,因此角检查功能输出已经改变了第一个版本。在第二个版本中,只有在创建范围时才调用该函数,并将countService设置为该值。由于countService现在是一个与计数函数无关的变量,它的值不会反映从该函数返回的值。

+0

啊,好的。我想我现在明白了。那么,那些为$ watch观看控制器服务功能的捷径呢? – Darren

相关问题