我试图在服务加载后分配数据以便更好地理解观察代码。将数据传递给子组件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'将数据从父项传递到子项,我认为导入不起作用。 –