ионная кнопка возврата не меняет текст динамически - PullRequest
0 голосов
/ 25 февраля 2019

После установки текста кнопки возврата с помощью 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

это ионная ошибка / ошибка моей программы?
надеюсь увидеть совет

1 Ответ

0 голосов
/ 25 февраля 2019

Вы еще не добавили код, поэтому я не на 100% уверен в том, что вы уже пробовали, но попробуйте это:

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');
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...