如何使用firebase" ref"在控制器内

时间:2016-03-11 10:50:20

标签: ionic-framework firebase

我在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的用户..

1 个答案:

答案 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');
    }