如何使用带有observable的changeDetection onPush

时间:2017-07-13 04:58:27

标签: angular angular2-changedetection

我是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只适用于子父组件。关于兄弟组件的工作原理?

1 个答案:

答案 0 :(得分:1)

您需要在获取数据时订阅该服务。

this.ShopDataService.get().subscribe( result => {this.products = result});

也请分享您服务中的代码。