ControlValueAccessor
方法接受值。这意味着它们的组件确实具有内部状态,并且由于它们也可以接受来自
writeValue
S的值,因此可能发生怪异的错误,尤其是在将它们与不使用角形式的代码库集成时。
为什么这两种方法如此不同的官方解释是什么?
如何通过从
@Input
获得值的方法来统一组件从
@Input
S统一的方法?甚至有可能创建与角形式兼容的组件,并且不包含其自身的任何状态?有一种方法可以实现角色形式,其中组件通过
writeValue
S(或Angular 17+中的
@Input
信号)接收其值? chatgpt提出以下建议:
input
但是,从我所知道的有关角度的所有信息中,写入 @Input() value: any;
writeValue(value: any): void {
this.value = value;
}
是一个非常糟糕的主意,甚至在Angular 17+中的信号中甚至是不可能的。
使用一个具有内部状态的链接信号,当通过
@Input
接收新输入时,该信号会被覆盖::
@Input