Json 角度2+和可观测值:无法绑定到“ngModel”,因为它不是“select”的已知属性

Json 角度2+和可观测值:无法绑定到“ngModel”,因为它不是“select”的已知属性,json,asynchronous,drop-down-menu,angular,angular2-observables,Json,Asynchronous,Drop Down Menu,Angular,Angular2 Observables,编辑:更新的PRUNKR: 这部分工作: <div *ngFor="let entry of entries | async"> Label: {{ entry.label }}<br> Value: {{ entry.value }} </div> 是否必须使用[ngValue]而不是[val] >=RC.5 需要导入FormsModule以使ngModel可用 @NgModule({ imports: [BrowserModule /* or

编辑:更新的PRUNKR:

这部分工作:

<div *ngFor="let entry of entries | async">
  Label: {{ entry.label }}<br>
  Value: {{ entry.value }}
</div>

是否必须使用[ngValue]而不是[val]

>=RC.5

需要导入FormsModule以使ngModel可用

@NgModule({
  imports: [BrowserModule /* or CommonModule */, 
  FormsModule, ReactiveFormsModule],
  ...
)}
class SomeModule {}

您需要将以下内容添加到app.module.ts文件中

以及


尽管我已经在组件的*.module.ts文件中导入了FormsModule,但这在我的测试套件中发生了

在我的*.component.spec.ts文件中,我需要将FormsModule和ReactiveFormsModule添加到configureTestingModule的导入列表中:


这解决了我的问题。

在app.modules.ts之后

import { NgModule } from '@angular/core'; 
付诸表决:

然后在

imports: [
 BrowserModule
 ],
插入FormsModule,如下所示:

imports: [
 BrowserModule,
 FormsModule
 ],

造成上述错误的原因是您尚未导入FormsModule,FormsModule包中存在ngModel,因此,要消除此错误,请从“@angular/forms”添加导入{FormsModule},并在app.module.ts类的导入中添加FormsModule。

您是在使用RC5还是在Plunkr中仅使用angular 2模板?有区别吗?如果是,我应该改变什么?应该是[ngModel],但这不是主要原因谢谢,我已经更新了这两个,提问和plunkrall以上所有步骤都已经完成了,这一定是另一个与可观察相关的问题,这是我必须在Plunk中改变的,以使其工作。如果你使用对象作为值,你需要使用[ngValue]=..而不是[值]=。。。。在“[value]=”上。。。仅适用于字符串值。我的答案中列出的更改和我在中添加的name=x似乎是在新表单模块中使用ngModel的独立元素所必需的。我想就这些了。我只想指出,select元素上的name属性是不必要的,至少在RC5中是这样。我在这里有一个本地项目,没有它,ngModel可以按预期工作。此外,在该线程中的所有插件中,只要正确导入了Forms包,select下拉列表的工作原理与使用name属性或不使用name属性的情况相同。请注意,提供者也可能是服务
'@angular/forms': {
  main: 'bundles/forms.umd.js',
  defaultExtension: 'js'
},
import {provideForms, disableDeprecatedForms} from '@angular/forms';

bootstrap(App, [disableDeprecatedForms(),provideForms()])
import { FormsModule } from '@angular/forms';
@NgModule({
   imports: [
      FormsModule,
      ...
   ]})
import { FormsModule, ReactiveFormsModule } from '@angular/forms';

...
TestBed.configureTestingModule({
    imports: [ 
        FormsModule, 
        ReactiveFormsModule,
        ....],
    providers: [MyComponent, ...],
    declarations: [MyComponent],
    schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
import { NgModule } from '@angular/core'; 
import { FormsModule } from '@angular/forms'; 
imports: [
 BrowserModule
 ],
imports: [
 BrowserModule,
 FormsModule
 ],