angular - 我应该如何将 v5 中管道中使用的合并转换为 v6
问题描述
我正在查看此处提供的转换指南,我正在尝试按照本指南转换管道中使用的合并,但它不像更改之前那样工作。
这是我用来学习新合并的一段代码:
this.form.valueChanges.pipe(
startWith(1),
merge(this.form.statusChanges),
merge(this.click$),
map(() => this.form.value.query),
filter(() => this.form.valid)
)
.subscribe(this.search);
private search = (query: string) => {
this.tvs.search(query).subscribe(shows => this.shows = shows);
}
我试图做这样的事情:
merge(
this.form.valueChanges.pipe(
startWith(1),
map(() => this.form.value.query),
debounceTime(500),
tap(() => this.form.controls.query.errors && console.log(this.form.controls.query.errors)),
tap(() => this.form.status && console.log(this.form.status)),
filter(() => this.form.valid)
), this.form.statusChanges, this.click$)
.subscribe(this.search);
但是在 chrome 的网络选项卡中,我收到了对 api 的调用,其查询等于表单的状态(有效或无效)。转换它的正确方法是什么?
解决方案
我找到了解决方案:
merge(
this.form.valueChanges,
this.form.statusChanges,
this.click$).pipe(
startWith(1),
map(() => this.form.value.query),
debounceTime(500),
tap(() => this.form.controls.query.errors && console.log(this.form.controls.query.errors)),
tap(() => this.form.status && console.log(this.form.status)),
filter(() => this.form.valid)
).subscribe(this.search);
推荐阅读
- html - 使用 v-model
- python - 如何在海龟图形模块中找到海龟的 x 和 y 坐标?
- python - 在列表中使用字典时将字符串转换为浮点数的问题
- python - 在帝国时代 3 中模拟按键
- symfony - 如何根据 Symfony 3.4 应用程序中的应用程序环境为 nginx error_page 提供不同的模板?
- php - Laravel:无法在视图中显示数据库中的图像
- angular - 转换 api 结果以从额外的 api 请求中收集额外的数据
- javascript - 如何使用机器人框架执行 jquery?
- php - Mysqli 语句执行在 PHP 中不起作用
- jquery - Litelement querySelector 为 Null