Angularjs Firebase+;angularfire在控制器加载之前获取当前用户
我将在触发angular controller之前按照获取用户,但在使用此方法时从未触发该控制器。如果我删除Angularjs Firebase+;angularfire在控制器加载之前获取当前用户,angularjs,firebase,angularfire,firebasesimplelogin,Angularjs,Firebase,Angularfire,Firebasesimplelogin,我将在触发angular controller之前按照获取用户,但在使用此方法时从未触发该控制器。如果我删除resolve:state\u resolver行,控制器将触发,这意味着我的resolver有问题。你知道我做错了什么吗 .config(function($stateProvider) { var state_resolver; state_resolver = { "current_user": [ "simpleLogin", function(simp
resolve:state\u resolver
行,控制器将触发,这意味着我的resolver有问题。你知道我做错了什么吗
.config(function($stateProvider) {
var state_resolver;
state_resolver = {
"current_user": [
"simpleLogin", function(simpleLogin) {
return simpleLogin.$getCurrentUser();
}
]
};
return $stateProvider.state("dash", {
url: "/dash",
templateUrl: "templates/dash.html",
controller: "DashCtrl",
resolve: state_resolver
});
});
如果下面使用$timeout的示例起作用,那么您的simpleLogin服务可能有问题,没有响应
.config(function($stateProvider) {
var state_resolver;
state_resolver = {
"current_user": function($timeout) {
return $timeout(function () {console.log('OK');}, 5000);
}
};
数组存在于他们的中(向下滚动到“使用路由器的简单登录”)好的,你仍然可以测试没有数组的版本吗?是的,我在再次查看他们的示例之前确实测试过:)数组表示法和非数组表示法都失败了?你可以使用我在响应中添加的简单$timeout进行测试吗?嗨,罗密欧!看来我们需要更多的尽职调查来帮助您解决这个问题。您是否添加了名为
simpleLogin
的服务,如routes示例中所述?你能在这里包括代码和控制器吗?JavaScript控制台中有哪些错误,我们使用的是什么版本?此外,您应该尝试在resolve函数中处理then(success,failed)方法,并将它们输出到console.log以查看发生了什么,或者在调试器中添加断点。