对我来说,[(ngModel)]="foo"
不适用于用于重新设置默认 HTML5 表单控件样式的标签,更准确地说是单选按钮。目标是使用这些来更改值,例如使用默认输入无线电。我目前使用 ng2-bootstrap,但也尝试了 paper-kit(http://www.creative-tim.com/live/paper-kit)。
当使用 ng2-bootstrap 的记录用法时(https://valor-software.com/ng2-bootstrap/#/buttons)
<label class="btn btn-primary" name="test" [(ngModel)]="foo" btnRadio="foo">foo</label>
我收到此错误:
core.umd.js:3468 Error: Uncaught (in promise): Error: No value accessor for form control with name: 'test'
at resolvePromise (zone.js:429)
at zone.js:465
at ZoneDelegate.invokeTask (zone.js:236)
at Object.onInvokeTask (core.umd.js:6233)
at ZoneDelegate.invokeTask (zone.js:235)
at Zone.runTask (zone.js:136)
at drainMicroTaskQueue (zone.js:368)
at XMLHttpRequest.ZoneTask.invoke (zone.js:308)
这可以使用ngDefaultControl
标签中的属性来修复,但仍然[(ngModel)]
会被忽略且不会传播。同样的问题也发生在 paper-kit 的使用上。
它适用于普通单选按钮,没有任何问题。