1
我有一個非靜態的traduction文件,我定期從服務器獲取。我不能改變文件的格式。在離子2級中延遲訪問屬性
當我在我的Ionic App中創建一個新頁面時,我從存儲器中的值中設置了this.traductions
。請參見下面的構造函數:
constructor(storage: Storage, public navCtrl: NavController, public navParams: NavParams, public commandeService: CommandeService, public alertCtrl: AlertController, public translate: TranslateService) {
this.categorie = this.navParams.get('categorie');
storage.get('boissons').then((StringBoissons) => {
var boissons: Array<any> = JSON.parse(StringBoissons);
this.boissons = boissons.filter(
(value) => {
return value.tboi_id == this.categorie.tboi_id;
});
}
);
storage.get('traductions').then((val) => {
this.traductions = JSON.parse(val);
});
this.commande = commandeService.getCommande();
this.translate = translate;
}
然後我查看通話getTraduction(...)
getTraduction(table, champ, id, objet) {
var traduction = this.traductions.find((value) => {
return value.trad_table == table && value.trad_champ == champ && value.trad_code_langue == this.translate.currentLang && value.trad_id_item == objet[id];
});
if (traduction && traduction.trad_texte )
return traduction.trad_texte;
else
return objet[champ];
}
一切正常,在瀏覽器中預覽正常,但在設備上,我得到一個
無法調用空 的方法「發現」 at t.getTraduction
我認爲這是由於異步結果,但我不能完全讓我的頭在附近,並計算如何解決這個問題。
預先感謝任何見解