2016-09-24 49 views
0

我正在使用Firebase进行身份验证的角度应用程序。

requireSignIn()功能外,所有功能都正常工作。 我打电话了requireSignIn()以下列方式:

控制器代码

when('/success', { 
     templateUrl: 'views/success.html', 
     controller: 'SuccessController', 
     resolve: { 
     currentAuth: function(Authentication) { 
      return Authentication.requireAuth(); 
     } //current Auth 
     } 

Authentication我上面有代码是从我打电话requireSignIn()功能的服务。

验证码:

return{  
requireAuth:function(){ 
        return auth.$requireSignIn(); 
       } 
} 

我分享,我在这一切之后得到的堆栈跟踪。

Error: auth.$requireSignIn is not a function 
[email protected]:///E:/Ex_Files_AngularJS_Registration/Ex_Files_AngularJS_Registration/Exercise%20Files/ch01/01_04/angularregistration/js/services/authentication.js:55:21 
[email protected]:///E:/Ex_Files_AngularJS_Registration/Ex_Files_AngularJS_Registration/Exercise%20Files/ch01/01_04/angularregistration/js/app.js:33:18 
h/<[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:41:374 
m/</<@file:///E:/Ex_Files_AngularJS_Registration/Ex_Files_AngularJS_Registration/Exercise%20Files/ch01/01_04/angularregistration/js/lib/angular/angular-route.min.js:11:82 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:8:1 
m/<@file:///E:/Ex_Files_AngularJS_Registration/Ex_Files_AngularJS_Registration/Exercise%20Files/ch01/01_04/angularregistration/js/lib/angular/angular-route.min.js:11:28 
e/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:130:409 
uf/this.$get</[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:145:103 
uf/this.$get</[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:142:165 
uf/this.$get</[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:145:399 
Sd/</<.compile/<.pre/[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:264:82 

https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js 
Line 117 

帮助将非常感谢,因为我坚持了几个小时,并找不到合理的解决方案。

+0

是什么'auth'?它在'Authentication'中定义? – DMCISSOKHO

+0

var auth = firebase.auth(); @DMCISSOKHO –

回答

0
when('/success', { 
    templateUrl: 'views/success.html', 
    controller: 'SuccessController', 
    resolve: { 
    "currentAuth": ["Auth", function(Auth) { 
    return Auth.$requireSignIn(); 
    }] 
    } 

和工厂

.factory("Auth", ["$firebaseAuth", 
    function($firebaseAuth) { 
return $firebaseAuth(); 
} 
]); 

也不要忘了在coltroller注入currentAuth ..也许它会工作:)

+0

试过。不工作兄弟。 @Ujjwal –

+0

你有同样的错误吗?也通过这个https://stackoverflow.com/questions/37692046/angularjs-routes-and-resolve-with-new-firebase-auth –