Angular - 在数据加载/更改时启动响应

时间:2016-04-30 18:11:49

标签: javascript angularjs

相对Angular新手在这里,我正在努力解决大多数应用程序需要的东西:

观看模型/数据并在模型水合和/或状态发生变化时执行某些操作。

用例将是,当用户登录(用户模型启动)时,免费指令/控制器会看到状态更改,然后请求后端获取此用户的相应数据元素列表(即通知,电子邮件,朋友等)

我已经通过StackOverflow等进行了解析,并且总是看起来共享服务是可行的方式,但是我从来没有找到关于指令如何观察状态变化的明确答案。有人建议播放/观看,而其他人则认为这是一种糟糕的模式。

我们的应用目前使用共享UserService,其中包含用户的模型表示(数据和简单方法是fullName())

此服务还有一个订阅挂钩,指令可以订阅

onLogin: (fn) ->
    $rootScope.$on userService::login, fn

,用途是:

UserService.onLoad(myFunction)

当UserService加载User时,它会广播userService :: login并运行所有侦听器。因此,共享UserService的每个人都可以订阅并响应登录的用户。

这一切都有效。但我认为必须有一个内置的Angular方式,指令可以只知道状态变化,然后执行myFunction(即进行额外的数据调用)

非常感谢您的想法和感受!

0 个答案:

没有答案