4 回答

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
Angular已于9月15日發(fā)布了最終版本。與Angular 1不同,您可以ngModel在Angular 2中使用指令進(jìn)行兩種方式的數(shù)據(jù)綁定,但是您需要以一些不同的方式來編寫它,例如[(ngModel)](Banana in a box語法)。現(xiàn)在幾乎所有的angular2核心指令都不支持,kebab-case而應(yīng)該使用camelCase。
現(xiàn)在ngModel指令屬于FormsModule,這就是為什么您應(yīng)該import在(NgModule)的元數(shù)據(jù)選項(xiàng)中使用FormsModulefrom @angular/forms模塊。之后,您可以在頁面內(nèi)使用指令。importsAppModulengModel
app / app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `<h1>My First Angular 2 App</h1>
<input type="text" [(ngModel)]="myModel"/>
{{myModel}}
`
})
export class AppComponent {
myModel: any;
}
app / app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
@NgModule({
imports: [ BrowserModule, FormsModule ], //< added FormsModule here
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
app / main.ts
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
const platform = platformBrowserDynamic();
platform.bootstrapModule(AppModule);

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
關(guān)鍵點(diǎn):
僅當(dāng)FormsModule作為AppModule的一部分可用時(shí),angular2中的ngModel才有效。
ng-model 在語法上是錯(cuò)誤的。
方括號(hào)[..]表示屬性綁定。
圓括號(hào)(..)表示事件綁定。
當(dāng)方括號(hào)和圓括號(hào)放在一起時(shí),[[..]]表示雙向綁定,通常稱為香蕉盒。
因此,修復(fù)您的錯(cuò)誤。
步驟1:導(dǎo)入FormsModule
import {FormsModule} from '@angular/forms'
第2步:將其添加到AppModule的import數(shù)組中,作為
imports :[ ... , FormsModule ]
步驟3:ng-model將香蕉盒更改為ngModel
<input id="name" type="text" [(ngModel)]="name" />
注意:此外,您也可以分別處理以下兩種方式的數(shù)據(jù)綁定
<input id="name" type="text" [ngModel]="name" (ngModelChange)="valueChange($event)"/>
valueChange(value){
}
- 4 回答
- 0 關(guān)注
- 520 瀏覽
添加回答
舉報(bào)