Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs Firebase+;angularfire在控制器加载之前获取当前用户_Angularjs_Firebase_Angularfire_Firebasesimplelogin - Fatal编程技术网

Angularjs Firebase+;angularfire在控制器加载之前获取当前用户

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

我将在触发angular controller之前按照获取用户,但在使用此方法时从未触发该控制器。如果我删除
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以查看发生了什么,或者在调试器中添加断点。