私は自分のMOBILE POC(Cordova2/Angular2)でカート機能を作成しようとしています。 コンポーネント間でデータを共有するためのサービスを作成しました。コンポーネントAからアイテムを読み込み、コンポーネントBから読み込もうとしていますが、コンポーネントBのアイテムは表示されません。サービスに追加する必要はありますか?Angular2ページ間の可変変数またはグローバル変数の共有
import { Injectable } from '@angular/core';
@Injectable()
export class CartService {
private vijayCart: Array<any> = [];
GetCart() {
return this.vijayCart;
}
SetCart(item) {
this.vijayCart.push(item);
}
}
成分A:
addItemToCart(item) {
this.cartService.SetCart(item);
//this.cartService.vijayCart.push(item);
this.cartLenth = this.cartService.GetCart().length;
}
成分B:
ngOnInit(): void {
this.cartSer = this.cartService.GetCart();
}
を見ることができる見ることが解決策の一つは、あなたのサービスでBehaviorSubject、それの観察可能なを作成し、両方のコンポーネントで、それに加入することです。あるいは、 '@ Input' /' @ Output'とEventEmitterを使ってアクションを処理してください。 – Vic
BehaviorSubject - [CLICK](https://www.youtube.com/watch?v=k8hMfoNIo4Y)をご覧ください – Vic
Ionicを使用していますか? – user2085143