2017-04-08 161 views
1

如何訂閱Ionic 2中的頁面更改?我只想在全球範圍內記錄頁面名稱/標題。是否有我可以訂閱的活動?Ionic 2頁更改訂閱

+0

你可以使用[事件](http://ionicframework.com/docs/api/util/Events/)這樣的事情.. –

+0

我想在全球範圍內執行此操作,因此我不必觸碰每個文件 – mark

+0

您應該聽取應用程序組件根nav navlers的事件。 – JoeriShoeby

回答

0

創建app.component.ts服務

import {Injectable} from '@angular/core'; 
import {Subject} from 'rxjs/Rx'; 

@Injectable() 
export class RouteNamesService{ 
    constructor(){ 
    } 
    public name = new Subject(); 

    setRouteName(name){ 
     this.name.next(name); 
    } 
} 

,當你在一個組件然後火

this.routeNamesService.setRouteName("Settings"); 

(或)進入 訂閱

this.routeNamesService.name.subscribe(name => this.routeName = name); 

app.component.ts

@ViewChild(Nav) nav: Nav; 

    ngAfterViewInit() { 
    this.nav.viewDidEnter.subscribe((data) => { 
     console.log(data); 

    }); 

    } 

數據就可以得到組件名稱