2016-11-12 22 views
5

Angularjs 2 ve ionic 2'ye yeni oldum. Angularjs formunda Validators, FormControl ve FormGroup ile çalışıyorum. İyonic serve --lab kullanarak projeyi yürütürken her şey iyidir. ancak bu projeyi oluşturduğumda hatası veriyor: Özellik 'kullanıcı adı' türünde yok. Ben apk dosyası oluşturmak için iyonik inşa android komutunu çalıştırın kadarTypescript error Özellik türü yok

login.ts

import { Component } from '@angular/core'; 

import { LoadingController, NavController } from 'ionic-angular'; 

import { AuthService } from '../../service/authService'; 

import {Validators, FormBuilder, FormGroup, FormControl } from '@angular/forms'; 

@Component({ 
    selector: 'page-login', 
    templateUrl: 'login.html' 
}) 
export class LoginPage { 

    user: any; 

    submitAttempt: boolean = false; 

    slideTwoForm : FormGroup; 

    constructor(public navCtrl: NavController, 
       public authService: AuthService, 
       public loadingCtrl: LoadingController, 
       private formBuilder: FormBuilder) { 

    this.slideTwoForm = formBuilder.group({ 
     username: ['', Validators.compose([Validators.minLength(5),   Validators.required])], 
     description: ['', Validators.required], 
     age: [''] 
    }); 
    } 

    logForm() { 
    if (!this.slideTwoForm.valid) { 
     this.submitAttempt = true; 
    } 
    } 

} 

login.html

<ion-content padding> 
    <form [formGroup]="slideTwoForm" (ngSubmit)="logForm()" novalidate> 
     <ion-item> 
      <ion-label floating>Username</ion-label> 
      <ion-input #username formControlName="username" type="text"></ion-input> 
     </ion-item> 
     <ion-item *ngIf="!slideTwoForm.controls.username.valid && submitAttempt"> 
      <p>Please enter a valid name.</p> 
     </ion-item> 
     <ion-item> 
      <ion-label>Description</ion-label> 
      <ion-textarea formControlName="description"></ion-textarea> 
     </ion-item> 
     <ion-item> 
      <ion-label floating>Age</ion-label> 
      <ion-input formControlName="age" type="number"></ion-input> 
     </ion-item> 
     <ion-item *ngIf="!slideTwoForm.controls.age.valid && submitAttempt"> 
      <p>Please enter a valid age.</p> 
     </ion-item> 
     <button ion-button type="submit">Submit</button> 
    </form> 
</ion-content> 

Her şey gayet iyi.
Birisi bana neden bu hataları aldığımı söyler misiniz?

Ben de bu bağlantıyı ifade eder: Property does not exist on type. TypeScript ama bana yardım edemez:

cevap

3
<ion-content padding> 
    <form [formGroup]="slideTwoForm" (ngSubmit)="logForm()" novalidate> 
     <ion-item> 
      <ion-label floating>Username</ion-label> 
      <ion-input #username formControlName="username" type="text"></ion-input> 
     </ion-item> 
     <ion-item *ngIf="!slideTwoForm.controls["username"].valid && submitAttempt"> 
      <p>Please enter a valid name.</p> 
     </ion-item> 
     <ion-item> 
      <ion-label>Description</ion-label> 
      <ion-textarea formControlName="description"></ion-textarea> 
     </ion-item> 
     <ion-item> 
      <ion-label floating>Age</ion-label> 
      <ion-input formControlName="age" type="number"></ion-input> 
     </ion-item> 
     <ion-item *ngIf="!slideTwoForm.controls["age"].valid && submitAttempt"> 
      <p>Please enter a valid age.</p> 
     </ion-item> 
     <button ion-button type="submit">Submit</button> 
    </form> 
</ion-content> 
+0

Thanx @dhyanandra sorunlarını görmezden gelmek –

2

Ionic2 android oluştururken derlemek vaktinden kullanır. AOT için gereken:

A) özellikleri html belirtilen özellikler bileşeninde ilan edilmesi için) halka

B için. Bu sorunu gidermek için genel kullanıcı adı: string; Bileşen ve aswell formunuzda erişmekte olduğunuz diğer adları beyan eder.

Veya ... html dosyasında formControlName = 'user.username' yazabilirsiniz ve önceden bildirdiğiniz özelliği kullanabilirsiniz.

+0

Ben AOT Derleyici yorumunuzu görebilmesi ancak diğer cevap bakmadı bazı bu html tipi hataları – kolexinfos

+0

@kolexinfos görmezden alabilir miyim lutfen bileşeninde sizin elementref beyan etmeyi unutmayın. Hatalar [] özelliğini kullanarak hatalarını görmezden geldiler, bunun için statik bir derleyici kontrolü yok. – misha130