如何在Angular中使用异步管道键入可观察对象



我正在尝试键入一个使用异步管道的可观察对象。现在我正在得到错误:

Property 'meatCount' does not exist on type 'unknown'.
<ng-template let-wowzers>
<my-component
class="my-component-class"
[myProp]="(wowzers.testObservable$ | async)?.meatCount"
>
</my-component>
</ng-template>

异步管道返回类型为"存储"的对象

class Store {
meatCount: number;
}

我知道有一种变通方法,我们可以简单地做一些事情,比如:

<ng-template let-wowzers>
<my-component
class="my-component-class"
[myProp]="getTypeStore(wowzers.testObservable$ | async)?.meatCount"
>
</my-component>
</ng-template>

getTypeStore将返回类似的内容:

public getTypeStore = (store: Store): Store => store;

但是,还有其他方法可以更有效地处理这个问题吗?我有点不知道如何在Angular?

您是否尝试为组件中的可观察对象指定类型

wowzeers: {testObservable$: Observable<Store>} | undefined;

最新更新