这是我的HTML:
<nz-form-item nzFlex [formGroup]="hulkForm">
<nz-form-label [nzSpan]="7" [nzFor]="hulkColumn.column"
[nzRequired]="hulkColumn.require">{{hulkColumn.lable}}</nz-form-label>
<nz-form-control [nzSpan]="17">
<input nz-input
placeholder={{hulkColumn.placeholder}}
[formControlName]="hulkColumn.name"
[(ngModel)]="hulkColumn.model"
[ngModelOptions]="{updateOn: 'blur'}"
name="{{hulkColumn.name}}"
*ngIf="hulkColumn.type!=='number'"
>
</nz-form-control>
</nz-form-item>
这是Chrome中的错误:
这是app.module.ts:
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {HashLocationStrategy, LocationStrategy} from '@angular/common';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {HttpClientModule} from '@angular/common/http';
import {NgZorroAntdModule, NZ_I18N, zh_CN} from 'ng-zorro-antd';
import {registerLocaleData} from '@angular/common';
import zh from '@angular/common/locales/zh';
import {AppRoutingModule} from './app-routing.module';
import {AppComponent} from './app.component';
registerLocaleData(zh);
@NgModule({
declarations: [
AppComponent,
...
],
imports: [
...
FormsModule,
ReactiveFormsModule,
...
],
providers: [{provide: NZ_I18N, useValue: zh_CN}, {provide: LocationStrategy, useClass: HashLocationStrategy}, CheckLoginGuard],
bootstrap: [AppComponent]
})
我正在使用以下内容:
Angular CLI: 6.2.4
Node: 8.9.0
OS: darwin x64
Angular: 6.0.7
NG-ZORRO-ANTD
答案 0 :(得分:0)
您需要在 app.component.ts 文件
中导入 FormsModule 。步骤:
添加以下导入语句
import { FormsModule } from '@angular/forms';
在导入@NgModule中添加FormsModule
@NgModule({ imports: [ FormsModule ], })
最终代码:
app.component.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms'; //----<<< Adding Import Statement
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule //-------<< Import here
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
答案 1 :(得分:0)
您还必须导入ReactiveFormsModule。
那行得通。
@NgModule({ imports: [ FormsModule, ReactiveFormsModule ] })
答案 2 :(得分:0)
您错过了导入angular的CommonModule,它提供了ngmodel相关的结构指令。
更新以上答案:
您正在混合反应形式和模板形式。 请删除[formControlName]属性,因为我们不能同时使用FormsModule和ReactiveForms
如果删除上面的内容,则效果很好。 你可以看到下面的stackblitz https://stackblitz.com/edit/ng-zorro-antd-setup-juf9hp