【发布时间】:2018-02-13 03:28:46
【问题描述】:
我正在尝试在我的 MOBILE POC (Cordova2/Angular2) 中创建购物车功能。 我创建了用于在组件之间共享数据的服务。我通过组件 A 添加项目并尝试从组件 B 读取。但我在组件 B 中没有看到这些项目。我应该在服务中添加什么?
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 来处理你的操作。 -
看看 BehaviorSubject - CLICK
-
你在使用 Ionic 吗?
-
这个问题问了很多次,谁能把它标记为重复
-
模块之间怎么共享,这种方式行不通。