我希望这个问题的标题是有道理的。我需要的是一种在控制器中存储对象的引用并在另一个对象中访问它的方法。
例如,我有一个AppCtrl
,我在其中启动firebase:
.controller('AppCtrl', function ($scope, $ionicModal, $timeout, $firebase) {
var ref = new Firebase("https://test.firebaseio.com/");
var sync = $firebase(ref);
$scope.db = sync.$asObject();
var authClient = new FirebaseSimpleLogin(ref, function(error, user) {
if (error) {
} else if (user) {
console.log(user);
} else {
// user is logged out
}
});
...
在另一个控制器中我想authClient.logout()
,但authClient
不可用:
.controller('LogoutCtrl', function ($scope, $stateParams, $firebase) {
authClient.logout();
})
有没有办法在第二个控制器中访问authClient
而无需实例化FirebaseSimpleLogin
,就像从全局变量中获取它一样?
我不确定什么是最好的方法,也许再次实例化它是个好主意..
我在这里使用firebase
作为示例,但这可以是任何其他类
任何想法?