Signal 是这么定义的
editId? = signal(0);
editId$ 的类型是 Observable<number>
编译错误如下:
Type 'Signal<number | undefined>' is not assignable to type 'WritableSignal<number> | undefined'.
Type 'Signal<number | undefined>' is missing the following properties from type 'WritableSignal<number>': set, update, asReadonly, [ɵWRITABLE_SIGNAL]
通过 Signal 的 asReadonly
方法解决了
editId = signal(0).asReadonly();
this.editId = toSignal(editId$, { initialValue: 0 });