我对Angular 17信号效应有问题.当设施信号更新时,我try 重置效果中的表格.
我在浏览器控制台中出现此消息错误:
NG 0600:默认情况下,
computed
或effect
中不允许写入信号.在CreateEffectOptions
中使用allowSignalWrites
来启用此内部效果.
如果我从效果中删除the_form.重置,控制台没有错误.如果我添加效果选项以allowSignalWrites,它就会起作用,但我不明白为什么因为我不写信号,所以我只是重置了一个表单.
formResetEffect = effect(() => {
if (this.facilities()) {
this._form.reset({
disabled: false,
value: null
});
}}, {allowSignalWrites: true});
你能帮助我理解这种行为吗?
谢谢
更新 :
看来只有当我使用PrimeNG的p-SYS组件时,这个问题才会出现.我已经判断了GitHub存储库中p-SYS的代码,这个组件现在使用信号.
您认为写入p-SYS组件的信号可能是问题的原因吗?
这里是一个堆栈闪电战来重现问题: stackblitz