2017-03-04 73 views
0

更新:我更新ngSwitchWhenngSwitchCase,然后我可以看到两个选项卡用于登录,注册,但我得到的错误If ngModel is used within a form tag, either the name attribute must be set or the formIonic2 ngSwitchWhen错误形式

我有我的项目的模板看起来如下所示。基本上我通过同一页面进行登录和注册。

<ion-navbar *navbar> 
</ion-navbar> 

<ion-content> 

    <div align="center"> 
    <h3>What you want to do?</h3> 
    </div> 

    <div [ngSwitch]="authType"> 
    <div padding> 
     <ion-segment [(ngModel)]="authType"> 
     <ion-segment-button value="login"> 
      Login 
     </ion-segment-button> 
     <ion-segment-button value="signup"> 
      Signup 
     </ion-segment-button> 
     </ion-segment> 
    </div> 

    <form *ngSwitchWhen="'login'" (ngSubmit)="onSubmitLogin()"> 
     <div> 

     <div> 
      <ion-item> 
      <ion-label for="username">Username</ion-label> 
      <ion-input type="email" id="username" [(ngModel)]="username"></ion-input> 
      </ion-item> 
     </div> 

     <div> 
      <ion-item> 
      <ion-label for="password">Passwort</ion-label> 
      <ion-input type="password" id="password" [(ngModel)]="password"></ion-input> 
      </ion-item> 
     </div> 
     </div> 

     <div> 
     <button block type="submit">Login</button> 
     </div> 
    </form> 

    <form *ngSwitchWhen="'signup'" (ngSubmit)="onSubmitRegister()"> 
     <div> 

     <div> 
      <ion-item> 
      <ion-label for="username">Username</ion-label> 
      <ion-input type="text" id="username" [(ngModel)]="username"></ion-input> 
      </ion-item> 
     </div> 

     <div> 
      <ion-item> 
      <ion-label for="email">Email</ion-label> 
      <ion-input type="email" id="email" [(ngModel)]="email"></ion-input> 
      </ion-item> 
     </div> 


     <div> 
      <ion-item> 
      <ion-label for="password1">Password</ion-label> 
      <ion-input type="password" id="password1" [(ngModel)]="password1"></ion-input> 
      </ion-item> 
     </div> 

     <div> 
      <ion-item> 
      <ion-label for="password2">Repeat Password</ion-label> 
      <ion-input type="password" id="password2" [(ngModel)]="password2"></ion-input> 
      </ion-item> 
     </div> 


     </div> 

     <div> 
     <button block type="submit">Sign up</button> 
     </div> 

    </form> 

    </div> 

</ion-content> 

这给了我错误Template parse errors: Can't bind to 'ngSwitchWhen' since it isn't a known property of 'form'.

这个代码用在我的大Ionic2项目的一个工作。有什么改变或我做错了什么?输入标签

回答

0

添加name属性解决了这个问题:

<ion-input type="text" id="username" name="username" [(ngModel)]="username"></ion-input>