2016-05-31 83 views

回答

0

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  
}); 
+0

同樣的事情......父母和第一個標籤是同時創建的,當父母從異步方法獲取信息時,孩子沒有數據。 解決方法是將此異步方法放在第一個選項卡中,然後使用該服務通過其他選項卡傳遞數據。 – molinet

+0

「永不」,這是你原來的問題和「父母獲得信息時」之間的區別。沒有必要將異步方法移動到選項卡,將其留在父項中併爲所有人使用該服務,查看我的編輯 –

相關問題