angular - 如何将多个值传递给 angular 5 observable?

标签 angular typescript angular5

我每天都在学习 Angular,但我遇到了一个问题。我在一个组件中有 3 个值,我需要将它们传递给另一个组件。我对可观察和订阅有基本的了解,但我是用 1 个参数完成的。现在我要广播 3 个值

这是我的购物车代码。

additem(itemText){
  this.cart.push(itemText);
  this.itemscount = this.cart.length;
  this._data.changeCart(this.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);
    }

}

现在我需要将 3 个值传递给 observable,但我不知道该怎么做,因为我读过我们只能将一个值传递给 observable。 我有一个想法,将所有值包装在一个数组中并传递该数组,但我对此进行了搜索,但找不到如何以 Angular 将多个值存储在单个数组中。

非常感谢任何帮助。谢谢

最佳答案

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

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

objToPass = { a: a, b: b, c: c };

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

这是构建 JS 对象的标准方式。

关于angular - 如何将多个值传递给 angular 5 observable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48680456/

相关文章:

angular - 如何在其中一个流依赖于另一个流的情况下使用 combineLatest?

javascript - Angular 6 - 日期管道

node.js - 使用绝对类型在 Typescript 中编写 Mongoose 的类型化模型和模式的类和接口(interface)

javascript - 如何使用 Angular 检查 iframe 内的内容是否已完全加载并且 src url 未向下(404/不可用)?

javascript - 如何导入 "PermissionStatus"?

angular - 将值分配给subscribe()函数Angular 5中的局部变量?

Angular 9 - 存储的值永远不应该是 NO_CHANGE

angular - 如何使用 TestBed 和 Jasmine 在 NativeScript 中实现单元测试?

typescript - 如何使用cdk获取账户id

unit-testing - Angular 2.0.0 - 模拟文件 uploader