如何在离子中获取输入文本值

时间:2018-01-14 19:01:51

标签: html angular ionic-framework

我尝试获取input文本值并将其存储在input中名为ionic的变量中。但我试过并失败了。谁能告诉我我做错了什么?

这是我的HTML

  <ion-content>
  <ion-list>
    <ion-item> 
        <ion-label stacked>display</ion-label>
      <ion-input type="text" text-right id="input" ></ion-input>
    </ion-item>    
  </ion-list>
  </ion-content>

这是我在离子<{p>中的home.ts

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';

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

  constructor(public navCtrl: NavController) {
    var input=document.getElementById('input').nodeValue;
    document.getElementById('seven').innerHTML=input;
  }

}

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:6)

实际上你似乎在使用angular而不是angularjs,使用[(ngModel)]

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

并在组件内部

<强> name:string;

所以只要你需要这个值,就可以使用。

<强> console.log(this.name);

答案 1 :(得分:5)

<ion-content>
  <ion-list>
    <ion-item> 
      <ion-label stacked>display</ion-label>
      <ion-input type="text" text-right id="input" [(ngModel)]="inputValue"></ion-input>
    </ion-item>    
  </ion-list>
</ion-content>

// ===

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {
    inputValue: string = "";
    constructor(public navCtrl: NavController) {}

    someFunction() {
        // here you can use the 'this.inputValue' and get the value of the ion-input 
    }

}

我们使用双向绑定ion-input的值与类成员inputValue,

about ngModel

您需要访问输入值,检查inputValue的值。

在这里,您可以看到我在StackBlitz

上写的例子
  

双向绑定是属性绑定和事件绑定的组合,因为它是从表示层到组件以及从组件到表示层的数据/值的连续同步。

     

由于这是一种双向绑定,我们必须同时使用括号 - [()]。此外,ngModel是一个指令,用于双向绑定数据。

答案 2 :(得分:0)

在 Ionic 5 - 聚焦时获取离子输入值的方法:

<ion-input (ionFocus)="onFocusPlace($event)"></ion-input>

onFocusPlace(event){
    this.value = event.target.value;
}