far*_*dab 4 typescript angular-signals
我将 Angular 应用程序更新到 v16,并尝试使用 Signals。之前,我在没有初始值的情况下初始化变量
filters: Filter[];
Run Code Online (Sandbox Code Playgroud)
但当我使用信号时,它给了我一个错误。
An argument for 'initialValue' was not provided
有没有办法可以在不初始化信号值的情况下创建信号?
我尝试将其 Type 设置为可能为 null 并赋予它 null 值
signal<Category | null>(null);
Run Code Online (Sandbox Code Playgroud)
但文件中还发生了一些其他错误,例如
Object is possibly 'null'.
我不喜欢使用“任何”类型
那么请问您能提供另一种解决方案吗?
这些信号经过专门设计,始终具有同步值。
null这意味着您必须使用或显式创建信号undefined。
例如:
const mySignal = new Signal<{value:number}|null>(null).
Run Code Online (Sandbox Code Playgroud)
目前缩小范围不适用于模板中的信号。这样做时预计会出现错误{{ mySignal().value }}。
您将不得不依赖可选链接运算符 ( .?) :{{ mySignal()?.value }}来防止该错误。
Angular 团队已经意识到这个问题,我们可以期待对此进行一些改进!
| 归档时间: |
|
| 查看次数: |
3980 次 |
| 最近记录: |