Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.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
Angular-单击“下一步”按钮时未删除活动类_Angular_Dom Events_Angular Directive - Fatal编程技术网

Angular-单击“下一步”按钮时未删除活动类

Angular-单击“下一步”按钮时未删除活动类,angular,dom-events,angular-directive,Angular,Dom Events,Angular Directive,我不知道如何解决这个问题,但任何帮助都会很好。 问题是,在这个测验应用程序中,当我标记为真/假时,它会得到一个活动类,但当我转到下一个问题时,活动类仍然存在,尽管问题已更改。如何更改下一个问题的条件 <div class="statement-row" *ngFor="let item of search.options;let j = index"> <div class="statement-question">

我不知道如何解决这个问题,但任何帮助都会很好。 问题是,在这个测验应用程序中,当我标记为真/假时,它会得到一个活动类,但当我转到下一个问题时,活动类仍然存在,尽管问题已更改。如何更改下一个问题的条件

<div class="statement-row"
             *ngFor="let item of search.options;let j = index">
          <div class="statement-question">
            <div class="qitem-text">
              <div class="qitem-textbox">
                <p>{{item.statement}}</p>
              </div>
            </div>
            <div class="ccq">
              <div class="qitem qclose"
                   [ngClass]="{'qclose-active': selectAnswer[j]?.dirty && (selectAnswer[j].select == 'true')}"
                   (click)="selectAnswer[j] = {select: 'true', dirty: 'true'};">
                <i class="qitembox qclose-icon"></i>
              </div>
              <div class="qitem qtick"
                   [ngClass]="{'qtick-active': selectAnswer[j]?.dirty && (selectAnswer[j].select == 'false')}"
                   (click)="selectAnswer[j] = {select: 'false', dirty: 'true'};">
                <i class="qitembox qtick-icon"></i>
              </div>
            </div>
          </div>
        </div>
<div class="questions-actions text-right">
      <button class="btn btn-secondary" (click)="previou(search.index)">
        Back
      </button>
      <button class="btn btn-primary" (click)="next(search.index)">
        Next
      </button>
    </div>

如果我没弄错的话,这是一个选择

使用select和dirty布尔值代替字符串,例如false代替“false”

将&&selectAnswer[j]。选择==“true”更改为&&selectAnswer[j]。选择

将&&selectAnswer[j]。选择==“false”更改为&!选择答案[j]。选择

然后添加一个从下一个和上一个函数调用的函数

private resetSelectedAnswers() {
    this.selectedAnswers.forEach(answer => {
      answer.dirty = false;
      answer.select = false;
    });
  }