Angular 2+ e Observables: não é possível vincular a ‘ngModel’, pois não é uma propriedade conhecida de ‘select’

EDIT: Atualizado Plunkr: http://plnkr.co/edit/fQ7P9KPjMxb5NAhccYIq?p=preview

esta parte funciona:

Label: {{ entry.label }}
Value: {{ entry.value }}

mas eu tenho problemas com a checkbox de seleção, a mensagem de erro é:

Não é possível ligar a ‘ngModel’, pois não é uma propriedade conhecida de ‘select’

O componente inteiro:

 //our root app component import {Component} from '@angular/core'; import {NgFor} from '@angular/common'; import {HTTP_PROVIDERS, Http} from '@angular/http'; import 'rxjs/Rx'; import {Observable} from 'rxjs/Rx'; @Component({ selector: 'my-app', providers: [HTTP_PROVIDERS], template: `  {{entry.label}}  
Label: {{ entry.label }}
Value: {{ entry.value }}
`, directives: [NgFor] }) export class App { entries: any = {}; selectValue:any; constructor(private _http: Http) { this.entries = this._http.get("./data.json") .map(res => res.json()); } }

e data.json

 [ { "timestamp": 0, "label": "l1", "value": 1 }, { "timestamp": 0, "label": "l2", "value": 2 }, { "timestamp": 0, "label": "l3", "value": 3 } ] 

> = RC.5

O FormsModule precisa ser importado para disponibilizar ngModel

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

< = RC.4

Em config.js add

 '@angular/forms': { main: 'bundles/forms.umd.js', defaultExtension: 'js' }, 

em main.ts add

 import {provideForms, disableDeprecatedForms} from '@angular/forms'; bootstrap(App, [disableDeprecatedForms(),provideForms()]) 

Exemplo de Plunker

Veja também

Em app.modules.ts depois

 import { NgModule } from '@angular/core'; 

colocar:

 import { FormsModule } from '@angular/forms'; 

E então em

 imports: [ BrowserModule ], 

insira o FormsModule algo como:

 imports: [ BrowserModule, FormsModule ], 

Isso estava acontecendo comigo na minha suíte de testes, apesar do fato de eu já ter importado o FormsModule no arquivo *.module.ts meu componente.

No meu arquivo *.component.spec.ts , eu precisava adicionar o FormsModule e o ReactiveFormsModule à lista de importações no configureTestingModule :

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

Isso consertou meu caso.

Você precisa adicionar o seguinte ao seu arquivo app.module.ts .

 import { FormsModule } from '@angular/forms'; 

E,

 @NgModule({ imports: [ FormsModule, ... ]}) 

faça o seguinte você tem que usar [ngValue] vez de [val]

  

O erro acima é causado porque você não importou o FormsModule, o ngModel está presente no pacote FormsModule, portanto, para se livrar desse erro, adicione import {FormsModule} from '@angular/forms' e adicione FormsModule em imports no app.module. class ts.