离子2获得离子输入值

Bjö*_*ter 2 input typescript ionic2

我正在用离子2创建一个登录.请不要只回答"你只需要添加[(ngModules)] - 属性".如果您认为这是解决方案,请解释原因.解释一下,就像你会对孩子一样.

我在login.ts中的代码:

 import {Component} from '@angular/core';
 import {IonicPage, NavController, NavParams, MenuController} from 'ionic-angular';

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

  constructor(public navCtrl: NavController, public navParams: NavParams, public menu: MenuController) {
    this.menu.enable(false, "");
  }

  login() {
    alert(this.password);
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad LoginPage');
  }
}
Run Code Online (Sandbox Code Playgroud)

login.html中的代码

<ion-content padding id="login-dialog">
  <ion-list inset>

    <ion-item no-padding>
      <ion-label color="primary">
        <ion-icon name="person"></ion-icon>
      </ion-label>
      <ion-input type="text" placeholder="Username"></ion-input>
    </ion-item>

    <ion-item no-padding>
      <ion-label color="primary">
        <ion-icon name="lock"></ion-icon>
      </ion-label>
      <ion-input type="password" placeholder="Password"></ion-input>
    </ion-item>
    <button ion-button full color="primary" (click)="login()">Login</button>

  </ion-list>

</ion-content>
Run Code Online (Sandbox Code Playgroud)

ash*_*ley 6

上面的代码不起作用,因为您没有将输入元素绑定到登录组件中的任何属性.你必须使用角度数据绑定.

https://angular.io/docs/ts/latest/guide/template-syntax.html

请将您的代码更改为以下内容.

<ion-item no-padding>
      <ion-label color="primary">
        <ion-icon name="lock"></ion-icon>
      </ion-label>
      <ion-input [(ngModel)]="password" type="password" placeholder="Password"></ion-input>
    </ion-item>
Run Code Online (Sandbox Code Playgroud)

因此,无论您在输入中键入什么,都将更新模型(您在组件中定义的属性密码).然后它会提醒密码.