2016-07-18 4 views
3

У меня возникают проблемы с формами Angular 2, я успешно реализовал несколько форм в своем проекте и когда я пытаюсь добавить этот , я получаю и ошибка от моего углового Cli: Type 'FormGroup' is not assignable to type 'typeof FormGroup'.Угловые 2 формы RC-4, тип 'FormGroup' не поддается типу 'typeof FormGroup'

Любой встречался с этим?

Вот мой код компонента:

import { Component } from '@angular/core'; 
import {AngularFire} from "angularfire2/angularfire2"; 

import {DataService} from "../../shared/data.service"; 
import {FormGroup, FormBuilder, Validators} from "@angular/forms"; 

@Component({ 
    moduleId: module.id, 
    selector: 'tm-address-book', 
    templateUrl: 'address-book.component.html', 
    styleUrls: ['address-book.component.css'], 
    providers: [DataService] 
}) 
export class AddressBookComponent {myAddressForm = FormGroup; 
addressbook: Array<any>; 

constructor(private af: AngularFire, 
      private formBuilder: FormBuilder, 
      private dataService: DataService) { 
af.database.list('Addressbook').subscribe(address => { 
    this.addressbook = address; 
    console.log(this.addressbook); 
}); 

this.myAddressForm = formBuilder.group({ 
    'companyName': ['', Validators.required], 
    'street': ['', Validators.required], 
    'city': ['', Validators.required], 
    'postCode': ['', Validators.required], 
}) 
} 

А вот HTML код формы:

<form [formGroup]="myAddressForm" (ngSubmit)="onSubmit()"> 
      <div class="form-group"> 
       <input type="text" class="form-control" formControlName="companyName" name="companyName" placeholder="Nazwa firmy"> 
      </div> 
      <div class="form-group"> 
       <input type="text" class="form-control" formControlName="street" placeholder="Ulica"> 
      </div> 
      <div class="form-group"> 
       <input type="text" class="form-control" formControlName="city" name="city" placeholder="Miejscowość"> 
      </div> 
      <div class="form-group"> 
       <input type="text" class="form-control" formControlName="postCode" name="postCode" placeholder="Kod pocztowy"> 
      </div> 
      <button type="submit" class="btn btn-success waves-effect waves-light" data-toggle="collapse" data-target="#collapse1"> 
       Dodaj 
      </button> 
      </form> 

ответ

17

Я думаю, вы испортили = с :.

Измените myAdressForm определение следующим образом:

export class AddressBookComponent { 

    myAddressForm : FormGroup; 
    ... 
} 

, как вы ввели его (myAdressForm = FormGroup), присвоит свойство myAdressForm к типу класса из FormGroup

+0

Правильно ... Это поставит меня в когда-нибудь. Это второй раз, когда я отказался от этого назначения типа/значения ... Спасибо – MatWaligora

Смежные вопросы