2017-02-16 3 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()' запускался ТОЛЬКО, когда пользователь переходит на эту страницу или вы хотите, чтобы он запускался каждый раз, когда пользователь нажимает эту вкладку? –

+0

@GabrielWabiz Я бы хотел, чтобы он работал на любой странице, на которой вы находитесь. Идея заключается в том, что вы нажимаете вкладку, если вы находитесь на другой странице, она перенаправляет вас на страницу, на которой находится элемент сравнения, и затем открывает ее. Но если вы уже на странице, он просто открывает элемент сравнения и не выполняет никакой маршрутизации. – Alsh

ответ

0

Итак, после некоторого обширного рытья я пришел к выводу, что ионные вкладки были блокировщиком для достижения желаемого результата. Я разорвал их и сделал свои собственные вкладки, используя шаблон бокового меню, предоставленный Ionic. Это устранило мою проблему, и теперь вкладки меняются динамически.