【发布时间】:2014-10-21 15:19:05
【问题描述】:
我有一个带有两个控制器的角度应用程序。这是代码的简化版本:
var app = angular.module('walkerApp', ['firebase']);
app.controller('AuthenticationController', function($scope) {
function login(user) {
...
}
});
app.controller('StepsDataController', function($scope) {
});
StepsDataController 提供来自 Firebase 后端的数据。 AuthenticationController 处理用户管理。当当前用户更改(通过 AuthenticationController 的登录或注册方法)时,StepsDataController 应该重新绑定到特定于该用户的一组数据。
如何在 Angular 中做到这一点?显然,我需要某种观察者实现,但我不确定机制是什么。
【问题讨论】:
-
虽然我不确定,但在我看来
StepsDataController应该是一个服务,而不是一个应用控制器——它是一个控制器有什么原因吗? -
你可以使用事件或者你可以实现一个pub/sub as in this example。
-
我简化了服务,它需要根据当前登录的用户知道要查看数据配置单元的哪一部分。
-
当一个用户通过Authentication控制器改变时,需要刷新另一个控制器吗?实际上,您有一个服务,
StepsDataController使用它来获取当前用户信息,并且两个控制器同时在同一页面上?
标签: javascript angularjs firebase observer-pattern