2017-02-16 30 views
0

我有一個使用標籤的Ionic項目。離子路線頁面後保持點火功能嗎?

在我的標籤,我有以下:

<ion-tab [root]="tab1Root" (ionSelect)="toggleCompare();" tabTitle="Compare"></ion-tab> 

當我點擊這個它正確地把我帶回到了根頁面,然後運行我的toggleCompare功能,這是我的tabs.ts內...

constructor(public navCtrl: NavController, private _appGlobals: AppGlobals) { 
    this._appGlobals.showCompare.subscribe(value => this.compare = value); 
} 

toggleCompare() { 
    this.compare = !this.compare; 
    this._appGlobals.showCompare.next(this.compare); 
} 

再次點擊來自另一個頁面的工作絕對沒問題。我遇到的問題是,如果你再次點擊該按鈕,該頁面完全沒有任何作用。沒有刷新,沒有運行的功能。

任何人都可以建議一個更好的方式切換,但也路由回到頁面,如果用戶不是已經在它上面?

任何意見是非常感激。

+0

是否希望'toggleCompare()'只在用戶轉到該頁面時運行,或者您希望每次用戶單擊此選項卡時運行'toggleCompare()'? –

+0

@GabrielWabiz我希望它可以在任何頁面上運行。這個想法是,你點擊標籤,如果你在另一個頁面上,它將你路由回到比較元素所在的頁面,然後打開它。但是,如果你已經在頁面上,它只是打開比較元素,並沒有做任何路由。 – Alsh

回答

0

因此,經過一些廣泛的挖掘,我得出的結論是,離子選項卡是實現我想要的結果的攔截器。我將它們撕掉,並使用Ionic提供的側邊菜單模板製作了自己的選項卡。這解決了我的問題,現在這些選項卡動態地換出。