使用* ngFor并从ion-label

时间:2019-11-08 15:58:09

标签: javascript angular ionic-framework

我在使用* ngFor这样的HTML时遇到了问题:

<ion-slides #slides [options]="slideOpts">
      <ion-slide class="numbers-wrapper"
                 *ngFor="let questionNumber of numbers"
                 (click)="clickQuestionNumber()">
        <ion-label #quesNum>{{ questionNumber }}</ion-label>
      </ion-slide>
    </ion-slides>

从我的TS文件中的数组中获取

numbers = [
    '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21',
    '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40'];

它可以正常工作并按我的意愿显示,但是我的问题是我想点击一下离子标签{{questionNumber}}内的文本来检索

我尝试过@viewchildgetElementbyId,但是它返回(或打印)第一个值01。当我检查开发人员工具的HTML时,从01到40的所有html都在那里以及它显示在我的屏幕上。由于某种原因,我无法检索所有数字。我希望每次单击01都返回01,而02返回02,依此类推。

这是我的方法

clickQuestionNumber() {
   this.currentNumber = this.quesNum.nativeElement.innerText;
      }

自从我尝试各种方法以来,我现在没有多少,但它总是只返回第一个值。谢谢

1 个答案:

答案 0 :(得分:2)

您只需在(click)

上进行操作
<ion-slide class="numbers-wrapper"
             *ngFor="let questionNumber of numbers"
             (click)="currentNumber = questionNumber">

或者,尝试这样:

.html

 <ion-slide class="numbers-wrapper"
             *ngFor="let questionNumber of numbers"
             (click)="clickQuestionNumber(questionNumber )">

.ts

clickQuestionNumber(number) {
   this.currentNumber = number;
}
相关问题