我有一个包含动态数据的列表,我想在用户单击按钮时更新特定文本:
<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";
}
答案 0 :(得分:0)
替换
<span [id]="id">Text to update</span>
与
<span >{{newVal}}</span>
,然后在您的组件中创建一个与newVal绑定的变量
答案 1 :(得分:0)
最近的答复,但您只需在元素中添加一个内容修饰符,例如:
<span [innerHTML]="carName"></span>
并在您的代码中更新了这样的类变量:
public carName: string;
onChangeCar(newName) {
this.carName = newName;
}
这样,元素的文本将成为您设置变量carName
所设置的内容。