如何将getElementById与*ngIf一起使用?



我正在尝试选择一个带有 *ngIf 的div:

<div id="explanation" *ngIf="isCorrect(option.optionValue)">

当我使用 getElementById 时返回 null。如果我删除 ngIf 它工作正常,但我需要在应用程序中使用 ngIf。那么我该如何选择div呢?

编辑:重构的代码如下:

<div [hidden]="!isCorrect(option.optionValue)">
<div id="explanation">
Option {{ question.answer }} is correct because {{ question.explanation }}.
</div>
</div>

ngAfterViewInit() {
let itemFrom = document.getElementById('explanation');
let itemTo = document.getElementById('question');
}
radioChange(answer) {
this.question.selectedOption = answer;
this.answer.emit(answer);
this.moveExplanation(this.itemFrom, this.itemTo);
}
moveExplanation(from, to) {
to.replaceWith(from);
}

问题和解释现在都被记录下来,替换作品,只需要从正确答案下方删除原始解释,每个问题的解释应该移动到问题框中,同样地从正确答案下方删除解释。

如果你想用TypeScript访问你的div,那么你需要用Hashtag标记它

<div id="explanation" *ngIf="isCorrect(explanation)" #explanation>

并将名称添加到您使用的参数中,以传递值!

或与

<div [(ngModel)]="option"></div

相关内容

  • 没有找到相关文章