0
參考Ionic 2 passing tabs NavParams to tab離子2通過父母之間的異步數據標籤
該解決方案提供的工作。但是如果該參數是通過父級中的異步方法獲得的呢?第一個標籤永遠不會獲得「foodId」的值。 有沒有辦法做到這一點?
參考Ionic 2 passing tabs NavParams to tab離子2通過父母之間的異步數據標籤
該解決方案提供的工作。但是如果該參數是通過父級中的異步方法獲得的呢?第一個標籤永遠不會獲得「foodId」的值。 有沒有辦法做到這一點?
second answer在你鏈接的問題是一個很好的解決方案。使用選項卡和父級共享的服務。
在你的服務,你可以使用的承諾,讓標籤知道什麼時候該數據可用:
import {Injectable} from 'angular2/core';
@Injectable()
export class Service{
constructor(){}
}
getParams() {
asyncMethod().then((data) => {
this.params= data;
Promise.resolve(params) });
}
}
在你的父母和頁面你可以得到PARAMS可用時
然後:
this.service.getParams().then((params) => {
// do whatever with the params
});
同樣的事情......父母和第一個標籤是同時創建的,當父母從異步方法獲取信息時,孩子沒有數據。 解決方法是將此異步方法放在第一個選項卡中,然後使用該服務通過其他選項卡傳遞數據。 – molinet
「永不」,這是你原來的問題和「父母獲得信息時」之間的區別。沒有必要將異步方法移動到選項卡,將其留在父項中併爲所有人使用該服務,查看我的編輯 –