Angular异步管道在可观察对象改变时不会刷新。
创始人
2024-10-30 12:00:20
0

Angular的异步管道确实不会在可观察对象发生改变时自动刷新。然而,我们可以使用一些技巧来解决这个问题。以下是一种可能的解决方案:

  1. 创建一个自定义管道,用于包装异步管道。
import { Pipe, PipeTransform, ChangeDetectorRef } from '@angular/core';
import { Observable } from 'rxjs';
import { tap } from 'rxjs/operators';

@Pipe({
  name: 'refresh',
  pure: false // 设置pure为false以确保管道在每个变化检测周期中都会被调用
})
export class RefreshPipe implements PipeTransform {
  constructor(private cdr: ChangeDetectorRef) {}

  transform(value$: Observable): Observable {
    return value$.pipe(
      tap(() => this.cdr.markForCheck()) // 使用ChangeDetectorRef手动触发变化检测
    );
  }
}
  1. 在模板中使用自定义的刷新管道。
{{ observableValue$ | async | refresh }}

通过将可观察对象传递给refresh管道,我们可以确保在可观察对象发生变化时刷新视图。

这种方法的关键点在于将ChangeDetectorRef注入到自定义管道中,并在管道内部使用markForCheck方法手动触发变化检测。这将导致Angular重新计算管道,并正确刷新视图。

相关内容

热门资讯

昨日!来玩app辅助器!果然是... 昨日!来玩app辅助器!果然是有辅助器(发现有挂)-哔哩哔哩1)来玩app辅助器有没有挂:进一步探索...
事发当天!八闽掌上十八卦脚本!... 事发当天!八闽掌上十八卦脚本!总是是真的辅助安装(有挂神器)-哔哩哔哩1、八闽掌上十八卦脚本免费辅助...
经调查!同城游辅助!果然存在有... 经调查!同城游辅助!果然存在有辅助安装(有挂总结)-哔哩哔哩同城游辅助是不是有人用挂微扑克wpk插件...
随着!微乐河南小程序微乐辅助脚... 随着!微乐河南小程序微乐辅助脚本!本来存在有辅助下载(有挂分享)-哔哩哔哩1)微乐河南小程序微乐辅助...
连日来!蜀山四川辅助!果然真的... 连日来!蜀山四川辅助!果然真的有辅助器(有挂头条)-哔哩哔哩在进入蜀山四川辅助软件靠谱后,参与本局比...
截至发稿!小程序财神十三张祈福... 截至发稿!小程序财神十三张祈福!确实是有辅助神器(有挂技巧)-哔哩哔哩截至发稿!小程序财神十三张祈福...
于此同时!随意玩怎么创建聚乐部... 于此同时!随意玩怎么创建聚乐部!原来有挂辅助器(果真有挂)-哔哩哔哩1、随意玩怎么创建聚乐部免费辅助...
备受关注的!金杯竞技辅助!总是... 备受关注的!金杯竞技辅助!总是是有辅助插件(有挂神器)-哔哩哔哩1、不需要AI权限,帮助你快速的进行...
事发当天!决战血流辅助器!一贯... 事发当天!决战血流辅助器!一贯真的有辅助插件(有挂神器)-哔哩哔哩所有人都在同一条线上,像星星一样排...
这一问题亟待解决!打哈儿脚本免... 这一问题亟待解决!打哈儿脚本免费!确实是真的辅助app(确实有挂)-哔哩哔哩1、起透看视 打哈儿脚本...