我是Angular2的绝对初学者,
这是我的组件,如果在FoodDetailsComponent中触发buynow()时,如何在HeaderComponent中更新this.product数组
export class HeaderComponent {
products: Array < any > ;
cart: Array < any > ;
Tabs: Array < any > ;
constructor(public ShopDataService: ShopDataService) {
this.products = this.ShopDataService.get();
}
ngOnInit() {}
}
export class FoodDetailsComponent {
@Input()
foodDetail: any;
constructor(private ShopDataService: ShopDataService) {
}
buynow(product) {
this.ShopDataService.add(product);
}
ngOnInit() {}
}
我几乎没有怀疑如何改变检测工作,changeDetectionStrategy只适用于子父组件。关于兄弟组件的工作原理?
答案 0 :(得分:1)
您需要在获取数据时订阅该服务。
this.ShopDataService.get().subscribe( result => {this.products = result});
也请分享您服务中的代码。