我在Angular中有一个服务,其中有一个方法 - 比如GetName()返回someones名称
我想在我的html中能够执行类似{{$ scope.GetName()}}的操作,并将此绑定到我的方法结果。我的主要问题是如果我的服务中的名称发生了变化(通过另一个控制器),那么我希望我的{{.....}}发生变化。
希望这是有道理的。
此致 雅尼斯
答案 0 :(得分:0)
您无法将动态服务调用绑定到DOM元素。
准确地说,最好的方法是$watch
用于服务中的名称更改,并在更改时使用回调函数。您还需要一种方法来通知控制器名称已更改,因此还应设置事件侦听器。监听器将调用将更新范围变量的函数,例如$scope.nameFromService
。然后在你的HTML中,你只需要在控制器部分内部:
{{nameFromService}}
同样,为了说清楚,这是发生的事情:
$watch
被触发并调用一个函数(其中包括)触发事件更新
如果你可以改变你的服务,我实际上会避免整个$watch
事情,只是修改名字设置器功能,以便在调用时触发事件。这样,所有控制器都可以知道名称更改。