如何将多个值传递给角度5可观察?

dev*_*dev 2 typescript angular angular5

我正在日复一日地学习角度,但我遇到了问题.我在一个组件中有3个值,我需要将它们传递给另一个组件.我对observable和subscription有基本的了解,但我用1参数完成了它.现在我想播放3个值

这是我的购物车代码.

additem(itemText){
  this.cart.push(itemText);
  this.itemscount = this.cart.length;
  this._data.changeCart(this.cart);
}
Run Code Online (Sandbox Code Playgroud)

当我点击产品时,这个函数会调用它并将cart数组发送到observable,并在那里广播购物车数组

export class DataService {

    private cart = new BehaviorSubject<any>([]);
    cast = this.cart.asObservable();

    constructor() { }

    changeCart(item_param) {
        this.cart.next(item_param);
        //console.log(this.cart);
    }

}
Run Code Online (Sandbox Code Playgroud)

现在我需要将3个值传递给observable,我很困惑如何做到这一点因为我已经读过我们只能将一个值传递给observable.我有一个想法将所有值包装在一个数组中并传递该数组,但我搜索了这个但却找不到如何在单个数组中以角度存储多个值.

任何帮助将非常感谢.谢谢

rit*_*taj 5

你可以像这样制作一个对象:

a = 5;
b = 'sss';
c = new Date();

objToPass = { a: a, b: b, c: c };
Run Code Online (Sandbox Code Playgroud)

稍后,您可以访问对象属性,如objToPass.a,objToPass.b等.

这是构造JS对象的标准方法.