我試圖在服務加載後分配數據以便更好地理解觀察代碼。將數據傳遞給子組件angular2(從Web服務接收的數據不附加在子上)
服務
getcampaigndata(slug: any): Promise<any> {
return this.http
.get('service url'+slug)
.toPromise()
.then((res) => res.json())
.catch(this.handleError);
}
父母組件
public slug: string;
public data: any = {};
this.campaign.getcampaigndata(this.slug).subscribe(params => {
this.data = params;
});
輔元件
import {CampaignComponent} from '../../campaign.component';
constructor(private shared: SharedService,private route:ActivatedRoute,public campaign: CampaignComponent) { };
ngOnInit(){
console.log(this.campaign.slug);
console.log(this.campaign.data);
}
**Output** : SLUG Object{}
正如你可以看到我有進口CampaignComponet
其工作很好的團狀的Cuz slug
是在運行時指定另一個組件但是data
它不是因爲http請求的分配。任何人都有這個解決方案?
使用this.data=JSON.parse(localStorage.getItem('currentCampaign'));
instand web服務的正常工作
傳遞的價值如何從父組件的數據傳遞到子組件?因爲您從服務中獲取數據,所以一旦數據可用,最好加載子組件。例如,' ' –
@AvinashRaj通過導入父組件。我已經嘗試過' '但它的作品爲immigate assignend value。本地存儲。未通過此方法分配的Web服務數據 –
您必須使用'@ Input'將數據從父項傳遞到子項,我認爲導入不起作用。 –