好的,我真的很挣这个。我尽可能地寻找解决方案,但即使有很多类似的问题也找不到它。
我上课了。我只需要一个实例,所以我为它做了服务:
services.factory('PlayerService', ->
new Player()
)
你可以看到它是某种玩家。 我需要我的观点在歌曲改变时更新。
这是一个非常简化的演示plnk,可以解决问题:http://plnkr.co/edit/L3WndT
以下是基于this question的尝试。没有一种解决方案能够发挥作用。
<div ng-controller="PlayerController">
{{ player.currentSong }}
</div>
PlayerController = ($scope, PlayerService) ->
$scope.player = PlayerService
return
PlayerController = ($scope, PlayerService) ->
$scope.$watch(
'myApp.services.PlayerService'
(newval, oldval) ->
$scope.currentSong = newval
true
)
return
答案 0 :(得分:0)
如果您真的在处理一些定期更新的外部服务,并且没有提供任何方式来监听更新事件(如您的Plunker中所示),您可以轮询更新并保持范围同步如下: / p>
http://plnkr.co/edit/PJpQ2a?p=preview
请注意,poll方法不需要显式更新范围。 Angular在您嵌入视图中的表达式“serviceClass.prop”上创建了一个监视。 $ timeout服务触发一个摘要周期,当表达式发生变化并更新视图时,它会触发监视器监听器。