我正在玩离子2,并且存在我无法使用javascript区域中的输入字段的问题。
这是我的页面内容,仅显示带按钮的登录区域 家
<ion-content class="home">
<ion-list>
<ion-item>
<ion-input type="text" placeholder="User Name" [(ngmodel)]="username"></ion-input>
</ion-item>
<ion-item>
<ion-input type="password" placeholder="password"></ion-input>
</ion-item>
</ion-list>
<div class="button-center">
<button (click)="login()">Login</button>
</div>
</ion-content>
现在我想访问javascript区域中的用户名,以便在警告框中显示用户名输入字段的值。
import {Page} from 'ionic-angular';
@Page({
templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
constructor() {
}
login(){
alert("username: " + this.username);
}
}
但是变量用户名始终是未定义的
答案 0 :(得分:0)
您必须在构造函数之前定义组件中的用户名和密码。并使用[(ngModel)]作为输入密码。
答案 1 :(得分:0)
像尹提到的那样:
<ion-content class="home">
<ion-list>
<ion-item>
<ion-input type="text" placeholder="User Name" [(ngModel)]="username"></ion-input>
</ion-item>
<ion-item>
<ion-input type="password" placeholder="password"></ion-input>
</ion-item>
</ion-list>
<div class="button-center">
<button (click)="login()">Login</button>
</div>
</ion-content>
您的ngModel未正确输入。请注意大写字母M.
import {Page} from 'ionic-angular';
@Page({
templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
constructor() {
this.username = null;
}
login(){
alert("username: " + this.username);
}
}
答案 2 :(得分:0)
使用它,它应该解决你的挑战
html文件
<ion-card>
<div padding>
<ion-list no-lines>
<ion-item >
<
ion-input round type="text" placeholder="Email" name="email" #email></ion-input>
</ion-item>
<ion-item>
<ion-input type="password" placeholder="Password" name="password" #password></ion-input>
</ion-item>
</ion-list>
</div>
</ion-card>
<div padding>
<button ion-button round block (click)="signIn()">Sign In</button>
</div>
和你的文件
import { Component, ViewChild } from '@angular/core';
....
.....
export class LoginPage {
@ViewChild("email") email;
@ViewChild("password") password;
constructor(public navCtrl: NavController, public alertCtrl: AlertController,private toast: ToastController, private http: Http) {
}
signIn(){
if(this.email.value=="" ){
let alert = this.alertCtrl.create({
title:"ATTENTION",
subTitle:"Email field is empty",
buttons: ['OK']
});
alert.present();
} else
if(this.password.value==""){
let alert = this.alertCtrl.create({
title:"ATTENTION",
subTitle:"Password field is empty",
buttons: ['OK']
});
alert.present();
}
else
{
// carry on with login process
}