Angular 角度窗体组未使用复选框值更新

Angular 角度窗体组未使用复选框值更新,angular,Angular,我很难找出一些很可能是我自己犯的错误 我正在创建一个自定义的动态表单组件,它允许开发人员仅使用TS创建表单。问题发生在复选框上。如果我在单击复选框之前读取了FormGroup的值,那么它是未定义的,如果我单击它,它将(正确地)true,但是如果我再次单击,它将保持(不正确地)true。我错过了什么 我创建了一个stackblitz来展示这种行为。请查看控制台的输出 谢谢 这里的问题是Angular无法识别适合您控件的ControlValueAccessor,因为您正在使用dynamictype

我很难找出一些很可能是我自己犯的错误

我正在创建一个自定义的动态表单组件,它允许开发人员仅使用TS创建表单。问题发生在复选框上。如果我在单击复选框之前读取了FormGroup的值,那么它是
未定义的
,如果我单击它,它将(正确地)
true
,但是如果我再次单击,它将保持(不正确地)
true
。我错过了什么

我创建了一个stackblitz来展示这种行为。请查看控制台的输出


谢谢

这里的问题是Angular无法识别适合您控件的ControlValueAccessor,因为您正在使用dynamic
type

<input ... type="{{inputType}}" 

这意味着您必须按照本文中的步骤指定
。这是构建自定义表单项的正确方法。简而言之,您实现了
ControlValueAccessor
,然后可以像使用本机输入元素一样使用该组件。@delashum谢谢,我能够使用yurzui的答案修复代码。不过我以后一定会看这篇文章的。谢谢,就这样。我想我应该先检查一下源代码:D.谢谢你的帮助:)我认为它不那么透明,所以这不是你的错
@Directive({
  selector: 'input[type=checkbox]...