如何更改 Ionic 2 中后退按钮的标签?

How to change the label from back button in Ionic 2?

使用代码:

<ion-navbar *navbar>
</ion-navbar>

后退按钮已启用。但我需要自定义它(图标或标签)。可能吗? 在 docs/api.

中找不到任何内容

您可以在 app.html 中设置后退按钮文本,如 ionic link http://ionicframework.com/docs/v2/api/config/Config

中所述
@App({
  template: `<ion-nav [root]="root"></ion-nav>`
  config: {
    backButtonText: 'Go Back',
    iconMode: 'ios',
    modalEnter: 'modal-slide-in',
    modalLeave: 'modal-slide-out',
    tabbarPlacement: 'bottom',
    pageTransition: 'ios',
  }
})

更新 ionic 2 beta 8

import {ionicBootstrap} from 'ionic-angular';

ionicBootstrap(AppRoot, customProviders, {
  backButtonText: 'Go Back',
  iconMode: 'ios',
  modalEnter: 'modal-slide-in',
  modalLeave: 'modal-slide-out',
  tabbarPlacement: 'bottom',
  pageTransition: 'ios',
});

更新 ionic 2 rc.0 及更高版本,以及 ionic 3

在 ionic 2 rc.0 及更高版本中,我们需要在导入数组下的 app.module.ts 中包含配置。

@NgModule({   
 declarations: [
    MyApp,
    Home   
 ],   
 imports: [
    IonicModule.forRoot(MyApp, {
      tabsPlacement: 'top',
      backButtonText: 'Back'
     })],
 bootstrap: [IonicApp],
 entryComponents: [
    MyApp,
    Home   ],
 providers: [MyService]
})

我刚刚花了一段时间研究如何通过 Ionic 2 中的 ViewController 来做到这一点。

在您页面的打字稿文件中,您必须导入 ViewController

import { ViewController } from 'ionic-angular';

然后在你的构造函数中包含 ViewController.

constructor(public viewCtrl: ViewController) {}

然后终于可以调用函数来改变文字了

ionViewDidLoad() { this.viewCtrl.setBackButtonText('Cancel'); }

我基本上是根据我一直在做警报和导航控制器的方式拼凑出来的,所以我可能是错的。不过它对我有用,而且允许我在每页的基础上更改文本。

IONIC2 的当前版本允许您全局更改后退按钮的文本。

您还可以更改 ios 中显示的图标并隐藏 "Back" 标签。

imports: [
    IonicModule.forRoot(MyApp,{
      backButtonText: '',
      backButtonIcon: 'ios-arrow-back',
      iconMode: 'md'
    })
]

只需将此添加到您的 app.module.ts

如果您使用的是 ionic 4,则可以像这样设置后退按钮文本

<ion-back-button [text]="'<your text>'"></ion-back-button>

这里是官方文档https://ionicframework.com/docs/v3/api/config/Config/

在 ionic 3 入门应用程序中有一个很好的用法示例

在 app.component.ts 的构造函数中使用 "set" 来自 ionic-angular:

的 Config 对象的方法
this.config.set('ios', 'backButtonText', values.BACK_BUTTON_TEXT);

当你想使用国际化或者如果你想动态更改配置时很有用:

this.translate.get(['BACK_BUTTON_TEXT']).subscribe(values => {
  this.config.set('ios', 'backButtonText', values.BACK_BUTTON_TEXT);