Параметры IonTabs не работают при работе с Promise

Giacomo Tabarelli спросил: 28 марта 2018 в 04:15 в: javascript

Я работаю с вкладками, и я хочу загрузить некоторые данные из своего хранилища в свой tabs.ts, а затем я хочу перенести данные на мои страницы вкладок (у меня есть 3 вкладки). Я передаю данные с помощью [rootParams] для каждой вкладки. Моя проблема в том, что вкладка по умолчанию (вкладка, которую запускает приложение) ничего не отображает. Я добавляю вам код:

конструктор tabs.ts

this.storage.get(key).then(value => this.list = value);

Html моей страницы вкладок

<ion-tab [root]="mypage" [rootParams]="list"></ion-tab>

В конструкторе mypage.ts я делаю это:

constructor(private navParams: NavParams) {
  this.list = this.navParams.data;
}

В моей странице html я петлю в списке с помощью простого *ngFor, но я ничего не вижу. Я думаю, проблема в том, что первая страница загружается до того, как объект Promise объекта хранения получит результаты. Я не знаю, как это решить. На других вкладках трюк работает как шарм, но поскольку я загружаю их через несколько секунд позже первой вкладки.

1 ответ

Melchia ответил: 28 марта 2018 в 04:31

Попробуйте использовать ngAfterViewInit(). Он будет выполнен после обещания хранилища

ngAfterviewInit(){
  this.list = this.navParams.data;}
Giacomo Tabarelli ответил: 29 марта 2018 в 07:46
Работает для второй и третьей вкладок, но не для первой.