Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打开一个模式时,在Ionic 2 Angular 2中输入总位数如何?_Angular_Ionic Framework_Ionic2 - Fatal编程技术网

打开一个模式时,在Ionic 2 Angular 2中输入总位数如何?

打开一个模式时,在Ionic 2 Angular 2中输入总位数如何?,angular,ionic-framework,ionic2,Angular,Ionic Framework,Ionic2,当用户输入特定数量的数字时,我试图打开一个模式,但我所拥有的并不是我想要的,而是在单击时触发一个模式 这就是我所做的: test.html 我该怎么办? 我将Ionic 2、Angular 2与Typescript一起使用。使用input=itemClicked$事件,而不是使用itemSelected= 然后可以使用$event.target.value在每次更改时获取该值。然后,当它是您想要的长度或值时,打开模式。如注释所示,每次用户输入字符并将事件作为参数传递给函数时,您都可以使用输入执行

当用户输入特定数量的数字时,我试图打开一个模式,但我所拥有的并不是我想要的,而是在单击时触发一个模式

这就是我所做的:

test.html

我该怎么办?
我将Ionic 2、Angular 2与Typescript一起使用。

使用input=itemClicked$事件,而不是使用itemSelected= 然后可以使用$event.target.value在每次更改时获取该值。然后,当它是您想要的长度或值时,打开模式。

如注释所示,每次用户输入字符并将事件作为参数传递给函数时,您都可以使用输入执行函数,您可以获得值并使用它进行比较。这样做

您的HTML:

<ion-card class="card-space">
  <ion-item>
    <ion-label stacked>Amount</ion-label> <!--I can use floating here but I prefer stacked-->
      <ion-input type="text" placeholder="Input Amount" (ionInput)="itemClicked($event)">
      </ion-input>
  </ion-item>
</ion-card>
使用此选项,它将与您希望的长度进行比较,并打开模式


希望这能有所帮助。

您能进一步解释一下$event.target.value部分吗?请给出一个示例片段,am Angular 2 virgin@SantiagoIn在您的方法中,itemClicked,它将被多次调用,您应该能够使用item.target.value查看输入字段的值,以检查长度。但是,从Typescript获取错误时显示:类型“EventTarget”上不存在属性“value”
import {Component} from '@angular/core';
import {ModalController, NavController, NavParams} from 'ionic-angular';
import {Http} from "@angular/http";
import {CompleteTestProvider, ISearch} from "../../providers/complete-test";
import {CustomerDetailsPage} from "../customer-details/customer-details";


@Component({
  selector: 'page-customer-issues-form',
  templateUrl: 'customer-issues-form.html',
})
export class CustomerIssuesFormPage {

  constructor(public navCtrl: NavController,
              public navParams: NavParams,
              private http: Http,
              public  completeTestProvider: CompleteTestProvider,
              private _modalCtrl: ModalController) {
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad CustomerIssuesFormPage');
  }

  itemClicked(item: ISearch) {
    console.log(item);
    //so open the modal here
    let modal = this._modalCtrl.create(CustomerDetailsPage, {customer:item});
    modal.present();
  }

}
<ion-card class="card-space">
  <ion-item>
    <ion-label stacked>Amount</ion-label> <!--I can use floating here but I prefer stacked-->
      <ion-input type="text" placeholder="Input Amount" (ionInput)="itemClicked($event)">
      </ion-input>
  </ion-item>
</ion-card>
itemClicked(event: any) {
  // GET THE USER INPUT
  let userInput: string = event.target.value;

  // COMPARE THE LENGTH WITH THE AMOUNT YOU WANT, I'LL USE 10
  if(userInput.length == 10){
    let modal = this._modalCtrl.create(CustomerDetailsPage, {customer:item});
    modal.present(); 
  }
}