2017-02-16 35 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提供的侧边菜单模板制作了自己的选项卡。这解决了我的问题,现在这些选项卡动态地换出。