【问题标题】:The Async pipe not trigger even when getter of observable is called即使调用 observable 的 getter,异步管道也不会触发
【发布时间】:2022-09-23 07:44:52
【问题描述】:

我有个问题。也许你们中的一个可以帮助我。我有一种情况,即使组件中的异步管道未触发,即使此 observable 的订阅获取正在触发(组件未恢复 ngOnChanges 中的更改值)。

代码是这样的:

html:

<app-component [values]=\"values$ | async\"></app-component>

ts:

values$: Observable<ISomeValue[]> = this.service.getValue$();

服务:

private valuesBSubject: BehaviorSubject<ISomeValue[]> = new BehaviorSubject<ISomeValue[]>(this.defaultValues);

getValues$(): Observable<ISomeValue[]> {
        return this.valuesBSubject.asObservable();
    }

setValues(values: ISomeValue[]): void {
        this.valuesBSubject.next(values);
    }
  • 您显示的代码看起来不错。一定是其他地方的问题

标签: angular asynchronous pipe observable


【解决方案1】:

我有同样的问题。我认为输入没有得到改变,因为它是同一个数组对象。我修复了它发送一个新数组到 observable 的问题。尝试这个:

setValues(values: ISomeValue[]): void {
    this.valuesBSubject.next([...values]);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 2020-11-13
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    相关资源
    最近更新 更多