我在service.js文件中创建了一个工厂
angular.module('app.services', [])
.factory('Auth', function($firebaseAuth){
var ref = new Firebase('https://loginmy-reddit.firebaseio.com');
return $firebaseAuth(ref);
})
.service('BlankService', [function(){
}]);
我想使用ref注销我的main.js文件中的用户
angular.module('app')
.controller('MainCtrl',function($scope,$state,Auth){
$scope.login = function(authMethod){
Auth.$authWithOAuthPopup(authMethod).then(function(authdata){
console.log(authdata);
$scope.signedInUser = authdata;
$state.go('menu.home');
}).catch(function(error){
console.log(error);
})
}
$scope.logout=function(){
ref.unauth();
//state.go('main');
}
如何在service.js文件中注销保留ref的用户..
答案 0 :(得分:1)
您可以将此当前服务扩展如下:
.factory('Auth', function($firebaseAuth){
var ref = new Firebase('https://loginmy-reddit.firebaseio.com');
return {
login: function(){
return $firebaseAuth(ref);
},
logout: function () {
ref.unauth()
}
}
})
并在你的控制器中使用它:
$scope.login = function(authMethod){
Auth.login().$authWithOAuthPopup(authMethod).then(function(authdata){
console.log(authdata);
$scope.signedInUser = authdata;
$state.go('menu.home');
}).catch(function(error){
console.log(error);
})
}
$scope.logout=function(){
Auth.logout();
//state.go('main');
}