javascript - Rxjs CombineLatest 和 Object.assign 在@angular/material 源中的用法说明
问题描述
我一直试图了解这段代码发生了什么。
我了解 combineLatest 发出一个值,从每个 observable 发出最后一个发出的值。和 Object.assign 将所有可枚举的自身属性从一个或多个源对象复制到目标对象。
我了解这一点,但我不明白的是,它们是如何在这种情况下一起使用的(combineLatest 和 Object.assign)。
combineLatest(_route.pathFromRoot.map(route => route.params), Object.assign)
解决方案
Object.assign 用作投影函数,请参见此示例。
_route.pathFromRoot.map(route => route.params)
将返回一个 Observable 数组。
combineLatest
将获取 Array 的每个 Observable 的最新值,然后将它们传递给投影函数,从而生成一个具有所有参数作为属性的对象。
推荐阅读
- java - 如何使用java变量将值插入mysql
- ansible - 如何使用ansible在rhel中新连接的磁盘上检测和创建分区
- c# - UNICODE 字符的字符表示并不总是返回一个字符
- javascript - 将内容分配给特定的 th 元素
- python-3.x - Jsonschema xxx 不是对象类型
- javascript - Node.js:如何找出 400 错误请求的内容?
- java - 是否可以在运行时获取 lambda 参数的类型?
- templates - 如何覆盖 laravel 6 供应商视图模板文件
- sql - SQL Server 中的 Like 函数返回表中的所有值,如果它为空
- javascript - 如何将数据从子组件传递到vue中的父组件?