我想通過工廠實現Firebase身份驗證,我想將錯誤甚至authData對象從工廠傳回控制器。這可能嗎?我似乎無法弄清楚如何。我一直收到未定義的變量。通過驗證錯誤從工廠到控制器在AngularJS
如果我在console.log登錄失敗時輸出錯誤,我得到了應該預期的結果,所以這段代碼的其餘部分工作。我只是不能將錯誤/ obj傳遞迴控制器。
我的控制器:
myApp.controller('LoginController', ['$scope', '$location', 'Authentication', function($scope, $location, Authentication) {
$scope.login = function() {
Authentication.login($scope.user);
// do something with error from auth factory
}
}]);
我廠:
myApp.factory('Authentication', ['$firebase', 'FIREBASE_URL', '$location', function($firebase, FIREBASE_URL, $location){
var ref = new Firebase(FIREBASE_URL);
var authObj = {
login: function(user) {
return ref.authWithPassword({
email : user.email,
password : user.password
}, function(error, authData) {
if (error) {
// pass error back to controller
// i've tried the following:
// authObj.err = error;
// return authObj.err = error;
}
else {
// pass authData back to controller
}
});
} // login
};
return authObj;
}]);
謝謝@Donal這工作完美。 –