使用config设置后退按钮文本后,
它不会立即在导航栏中反映出来。
必须弹出并再次推送页面。
游乐场:
https://stackblitz.com/edit/backbuttonbug。
您可以在联系页面上看到
设置后退按钮文本不会反映在自身页面中,甚至不会反映在其他导航堆栈中
代码:
前一页:
export class AboutPage {
constructor(public navCtrl: NavController) {}
contact() {
this.navCtrl.push(ContactPage);
}
}
下一页:
export class ContactPage {
constructor(public navCtrl: NavController,
public config: Config) {}
toChinese() {
this.config.set("backButtonText", '返回');
}
toEnglish() {
this.config.set("backButtonText", 'back');
}
}
<ion-header>
<ion-navbar>
<ion-title>
Contact
</ion-title>
</ion-navbar>
</ion-header>
<ion-content>
<button ion-button (tap)="toChinese()">toChinese</button>
<button ion-button (tap)="toEnglish()">toEnglish</button>
</ion-content>
我怀疑这是一个错误,并打开了一个问题:
https://github.com/ionic-team/ionic-v3/issues/976。
并找到另一个类似的问题:
https://github.com/ionic-team/ionic/issues/7043
是离子错误/我的程序错误吗?
希望能看到建议
答案 0 :(得分:1)
您尚未添加任何代码,因此我不确定您已经尝试过什么,但是请尝试以下操作:
import { ViewController } from 'ionic-angular';
...
ionViewDidEnter() {
this.viewCtrl.setBackButtonText('Some dynamic button text');
}
修改
对不起,您没有看到您的Stackblitz示例,这可行:
import { Component } from '@angular/core';
import { NavController, Config, ViewController } from 'ionic-angular';
@Component({
selector: 'page-contact',
templateUrl: 'contact.html'
})
export class ContactPage {
constructor(public navCtrl: NavController,
public config: Config,
private viewCtrl: ViewController) {
}
toChinese() {
this.viewCtrl.setBackButtonText('返回');
}
toEnglish() {
this.viewCtrl.setBackButtonText('Back');
}
}