2016-12-17 37 views
0

需要添加对loginpage的引用,以便它可以推送到堆栈的前面。 firebase onAuthStateChanged在登录页面加载的页面上启动。Ionic 2 Firebase侦听器,添加对登录页面的引用

firebase.onAuthStateChanged(function(user){ 
    if(!user){ 
    this.nav.setRoot(LoginPage); 
    } 
}); 

这是行不通的。我不知道为什么。 我试图从服务调用它不工作。 我无法将此代码添加到app.component.ts,因为有几页不需要用户登录。

回答

0

使用离子事件并发布注销的事件。

firebase.onAuthStateChanged(function(user){ 
if(!user){ 
    this.events.publish("event:loggedOut"); 
} 
}); 

并在您的app.component.ts订阅它。

this.events.subscribe("event:loggedOut",()=>{ 
    this.nav.push(LoginPage); 
}); 

不要忘记从离子角度导入事件。