相对Angular新手在这里,我正在努力解决大多数应用程序需要的东西:
观看模型/数据并在模型水合和/或状态发生变化时执行某些操作。
用例将是,当用户登录(用户模型启动)时,免费指令/控制器会看到状态更改,然后请求后端获取此用户的相应数据元素列表(即通知,电子邮件,朋友等)
我已经通过StackOverflow等进行了解析,并且总是看起来共享服务是可行的方式,但是我从来没有找到关于指令如何观察状态变化的明确答案。有人建议播放/观看,而其他人则认为这是一种糟糕的模式。
我们的应用目前使用共享UserService,其中包含用户的模型表示(数据和简单方法是fullName())
此服务还有一个订阅挂钩,指令可以订阅
onLogin: (fn) ->
$rootScope.$on userService::login, fn
,用途是:
UserService.onLoad(myFunction)
当UserService加载User时,它会广播userService :: login并运行所有侦听器。因此,共享UserService的每个人都可以订阅并响应登录的用户。
这一切都有效。但我认为必须有一个内置的Angular方式,指令可以只知道状态变化,然后执行myFunction(即进行额外的数据调用)
非常感谢您的想法和感受!