【发布时间】:2014-10-27 01:02:37
【问题描述】:
我希望这个问题的标题有意义。我需要的是一种在控制器中存储对对象的引用并在另一个控制器中访问它的方法。
例如,我有一个 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 作为示例,但这可以是任何其他类
有什么想法吗?
【问题讨论】:
-
您应该为此使用服务...
标签: javascript angularjs angularjs-scope firebase ionic-framework