我在离子侧菜单中遇到导航问题。当用户使用此菜单导航时,我需要保留页面的状态。但是当用户单击菜单setRoot
的一个选项时刷新页面。
我正在使用名为侧面菜单(https://github.com/ionic-team/starters/tree/master/ionic-angular/official/sidemenu)的离子启动器模板。
我做了以下更改:
-In home.html
<ion-header>
<ion-navbar>
<button ion-button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
<ion-title>Home</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<h3>Ionic Menu Starter</h3>
<p>
{{text}} <button primary (click)="change();" >Change text</button>
</p>
<button ion-button secondary menuToggle>Toggle Menu</button>
</ion-content>
我添加了一个文本和一个更改文字的按钮。
- 在home.ts:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
text:string;
constructor(public navCtrl: NavController) {
this.text="Initial text";
}
change(){
this.text="Text changed!";
}
}
所以当我点击按钮时,文本会发生变化,但是当我导航到列表并返回到主页时,文本显示“初始文本”,但我需要保存状态并显示“文本已更改! ”。
我知道这是因为app.component.ts中的调用setRoot
方法,但我不能调用push
方法,因为它打开了一个新页面,当我导航堆栈增加时......我需要一些像标签导航一样的解决方案。