【问题标题】:Custom component binding: No value accessor for ''自定义组件绑定:'' 没有值访问器
【发布时间】:2016-08-03 20:27:27
【问题描述】:

从 RC2 开始,我使用自定义元素将表单更新为 @angular/forms。当我使用[(ngModel)]="myModel" 对其执行输入绑定时,我从角度获得No value accessor for '' 并且表单无法加载。该错误仅发生在输入绑定中。

这是一个说明问题的 plunker:https://plnkr.co/edit/wxMsGuxr3GHMwNNoczT7?p=preview

值访问器通常工作(并且模型使用 RC1 中的旧表单),因为 FormBuilder 具有通过访问器接口正确设置的初始值。

问题似乎类似于https://github.com/angular/angular/issues/7518,但引导代码中提供了表单指令:

provideForms(),
{
    provide: PLATFORM_DIRECTIVES,
    useValue: [REACTIVE_FORM_DIRECTIVES],
    multi: true
}

【问题讨论】:

    标签: angular


    【解决方案1】:

    您在调用引导程序时缺少disableDeprecatedForms()。见这里:https://plnkr.co/edit/tk1rWdmXB7umkGPYK4Ho?p=preview

    【讨论】:

    • 谢谢,但您能详细说明为什么会修复它吗?应该可以在一个项目中混合新旧表单 API,disableDeprecatedForms 应该只在启动时抑制警告,不是吗?
    • 我认为仍然可以使用至少一些旧指令,但我猜不推荐使用的表单不​​知道新指令,并且它们会以某种方式发生冲突。
    【解决方案2】:

    我昨天遇到了同样的问题,这个解决方案一开始并没有解决。 为了让它工作,我必须清除我的浏览器缓存。

    【讨论】:

      猜你喜欢
      • 2010-12-12
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-03
      • 2014-12-09
      • 2016-03-27
      相关资源
      最近更新 更多