angular - 如何使用带有 Angular 5 和 Material Design 的 innerHtml 更新动态文本
问题描述
我有一个包含动态数据的列表,我想在用户单击按钮时更新特定文本:
<mat-list>
<mat-list-item *ngFor="let id of ids">
<mat-radio-group>
<mat-radio-button name="car" value="honda" id="honda{{id}}" (change)="onChangeCar(id,honda)">Honda</mat-radio-button>
<mat-radio-button name="car" value="toyota" id="toyota{{id}}" (change)="onChangeCar(id,toyota)">Toyota</mat-radio-button>
</mat-radio-group>
</mat-list-item>
<span [id]="id">Text to update</span>
</mat-list>
如何以 Angular 方式动态更新文本?我知道如何用旧时尚方式做到这一点,但不建议这样做:
onChangeCar(id) {
(<HTMLInputElement>document.getElementById(id)).innerHTML = "new text at a
specific Id";
}
解决方案
迟到的回复,但您可以简单地为您的元素添加内容修饰符,例如:
<span [innerHTML]="carName"></span>
并且在您的代码中更新了一个类变量,例如:
public carName: string;
onChangeCar(newName) {
this.carName = newName;
}
这样,元素的文本将成为您设置变量的任何内容carName
。
推荐阅读
- jquery - 使用 laravel 以模态方式传递数据
- reactjs - 如何在搜索中 e.target 不是每个人的符号?
- c# - invalid column name , parameter from c#
- c - 如何打印每个进程的pid?
- node.js - 从 Firestore 获取异步值
- python - 让 Pandas 找出在 pd.read_excel 中要跳过的行数
- ruby-on-rails - 如何使用 Rspec 知道控制器方法的流程
- c# - 在我对 C# 中的 char 数组的地址进行异或后,无法获得与 Delphi 代码相同的结果
- html - 无法在白色方块所在的位置插入 fontawesome 图标
- python - 熊猫有条件申请