2017-03-09 35 views
1

在angular2我們可以訂閱路由器事件:訂閱離子頁面更改事件,如下圖所示

router.events.subscribe((event: RouterEvent) => { /* detects route/navigation change*/ 
//some logic to show loading image 
}); 

如何翻譯上面的代碼用於離子2?

+0

http://ionicframework.com/docs/v2/api/navigation/NavController/頁面導航被處理在Io中的NavController nic 2 –

回答

0

我不知道你想要達到的目標,但你可以通過在app.components.ts獲得NavController的基準試,然後訂閱所需的事件是這樣的:

allEvents = Observable.merge(
       this.navController.viewDidLoad, 
       this.navController.viewWillEnter, 
       this.navController.viewDidEnter, 
       this.navController.viewWillLeave, 
       this.navController.viewDidLeave, 
       this.navController.viewWillUnload); 

allEvents.subscribe((e) => { 
    console.log(e); 
}); 

請注意爲了獲得NavController實例在app.component.ts文件你需要做這樣的事情:

@Component({ 
    templateUrl: 'app.html' 
}) 
export class MyApp { 
    @ViewChild(Nav) navCtrl: Nav; 

    //... 
} 
+0

我試過abve代碼。但它的投擲錯誤。錯誤:0:0由以下原因引起:無法讀取屬性'viewDidLoad'的未定義屬性'viewDidLoad'在類型'Nav'上不存在。 –

+0

每當頁面加載時,我需要顯示加載圖像。加載結束時應該隱藏該圖像。我使用Nav的setroot()來加載頁面。 –