2016-07-23 49 views
0

我想在我的源代碼中使用FormBuild。我的朋友(使用ng2 rc1)和我是按照這個例子。在Angularjs中使用FormBuilder 2 rc4

我不知道鏈接這個問題..抱歉..

<http://plnkr.co/edit/WTu5G9db3p4pKzs0WvW6?p=preview>. 

import { REACTIVE_FORM_DIRECTIVES, FormGroup } from '@angular/forms'; 
import { Validators, FormBuilder } from '@angular/common'; 
import { Component } from '@angular/core'; 

@Component({ 
    selector: 'aaa', 
    template: ` 
     <fieldset [formGroup]="data"> 
      <input type="text" id="" name="" formControlName="name" [(ngModel)]="data.name"> 
      <input type="text" id="" name="" formControlName="email" [(ngModel)]="data.email"> 
     </fieldset> 
    `, 
    providers: [ 
    ], 
    directives: [ 
    REACTIVE_FORM_DIRECTIVES 
    ] 
}) 

export class AAA { 
    private data: any; 

    constructor(private formbuilder: FormBuilder) { 
     console.log(Validators.required); 
     this.data = this.formbuilder.group({ 
      'name': ['', Validators.required], 
      'email': ['', Validators, required] 
     }); 
    } 
} 

但只得到了我的錯誤來源。錯誤消息是this.validators不是一個函數。 如何使用驗證器?我不知道解決這個問題。 rc4版本問題?

+0

請發佈您的代碼... –

+0

你的'bootstrap()'看起來像什麼?你有'disableDeprecatedForms()提供了嗎?「()加載新的表單模塊或你使用舊的嗎? –

回答

0

不能從@angular/common(舊)和@angular/forms(新)混合形式的東西

如果使用

bootstrap(AppComponent, [ 
    disableDeprecatedForms() 
    provideForms() 
]) 

不從@angular/common導入的形式的東西,如果你不那麼請勿從@angular/forms進口

+0

我有一個導入。我沒有這個進口。無論如何,錯誤總是。 – mago

+0

謝謝!我知道你的答案中有什麼不同/ comong和/形式。但我無法聲明我的formbuilder.group().. – mago