指令[(ngModel)] =在rc5中不再工作

Gre*_*g L 8 angular

ngModel抛出异常,这在rc4中工作正常

<input [(ngModel)]="par.name" placeholder="name" />
Run Code Online (Sandbox Code Playgroud)

这些是例外:

zone.js@0.6.12?main = browser:260 Uncaught EXCEPTION:./CommunityListComponent类中的错误CommunityListComponent - 内联模板:10:27 ORIGINAL EXCEPTION:没有带有未指定名称的表单控件的值访问器ORIGINAL STACKTRACE:错误:没有值访问器用于具有未指定名称的表单控件

小智 9

也可以通过将FormsModule导入到引导程序模块中来解决,然后它将可供所有组件使用.

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';

import { AppComponent } from 'app/components/app';

@NgModule({
    imports: [BrowserModule, FormsModule],
    declarations: [AppComponent],
    bootstrap: [AppComponent]
})

export class AppModule { }
Run Code Online (Sandbox Code Playgroud)


小智 5

现在您需要在输入时设置名称。例如;

<input [(ngModel)]="par.name" **name="name"** placeholder="name" />
Run Code Online (Sandbox Code Playgroud)

并且所有指令都必须在 *.module.ts 上设置。


San*_*ket 3

尝试这样-

import { Component, OnInit } from '@angular/core';
import { FORM_DIRECTIVES } from '@angular/common';

    @Component({
      selector: 'my-app',
      template: `<h1>My First Angular 2 App</h1>

      <input [(ngModel)]="employee.empName">

      `,
      directives: [FORM_DIRECTIVES]
    })
    export class AppComponent { 
      employee = { empName: 'Sanket', email: '', phone: '', address:'' };

       ngOnInit() { 
       }
    }
Run Code Online (Sandbox Code Playgroud)

这在 RC5 中对我有用。

参考 - https://angular.io/docs/ts/latest/api/common/index/NgModel-directive.html