Rxjs Subject / Observable订阅列表数组

时间:2018-11-26 19:32:44

标签: angular typescript

我有一个简单的问题。 我有服务DataStorageServiceService,而我有shopCartProtudct = new Subject<ProductModel[]>();。 我有一个组件SingleProductComponent,并且我想从该组件向shopCartProtudct发送数据,但是像数组一样,我想像基本数组一样与交互shopCartProtudct进行交互,我想存储数据并删除。这可以吗?

1 个答案:

答案 0 :(得分:0)

您可能正在寻找像这样的Service实现: 注意:未经测试的代码,几乎将其视为伪代码。

export class DataStorageService {

    //A subject that you can subscribe on
    shopCardProduct = new Subject<ProductModel[]>();

    //array behind the products in the cart
    products : ProductModel[] = new Array<ProductModel>() ;

    constructor(){
        this.shopCardProduct = new BehaviorSubject<ProductModel>(new Array<ProductModel>())
    }

    shop(product: ProductModel){
        this.products.push(product);
        this.shopCardProduct.next(this.products);
    }

    getCart(): Subject<ProductModel[]> {
        return this.shopCardProduct;
    }

}