gpt4 book ai didi

Angular Ivy strictTemplates true不能将 'boolean | null'类型分配给 'boolean'类型

转载 作者:行者123 更新时间:2023-12-03 16:45:35 24 4
gpt4 key购买 nike

我已经将我的应用更新为9版本。
一切都很好,但我有问题
将strictTemplates设置为true。
例如此代码

loaded$: Observable<boolean>
[loaded]="loaded$ | async"
@Input() loaded!: boolean;

我遇到错误类型' bool 值|不能将“null”分配给“boolean”类型。

这修复了错误
@Input() loaded!: boolean | null;

但是我看不到有人可以解释我的意思,好吗?

最佳答案

原因是因为异步管道始终返回签名,就像<T>(input$: Observable<T>): T | null一样,因为它在等待异步调用的响应时向模板返回null。

关于此的更多信息:https://angular.io/guide/template-typecheck#strict-null-checks

您可以执行已完成的操作并允许null,或者如果您知道它永远不会为null,请使用非null断言运算符:

[loaded]="(loaded$ | async)!"

或在此处禁用类型检查:
[loaded]="$any(loaded$ | async)"

或者对于这种特殊情况,您可能可以执行以下操作:
[loaded]="(loaded$ | async) || false"

关于Angular Ivy strictTemplates true不能将 'boolean | null'类型分配给 'boolean'类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61780339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com