问题描述
在 Angular 中,我使用了一个返回 Promise 的简单函数,在“then”函数中,我更改了 Img html 标签的 src。 当我从 NgOnInit(或从 onclick)调用这个函数时,html 不会更新,直到我通过再次点击某物来强制重新加载内容。但 colsole.log 工作。
click1() {
this.loadCaptcha();
}
ngOnInit(): void {
this.loadCaptcha();
}
loadCaptcha() {
this.apiService.getCaptcha()
.then((data) => {
this.image = 'http://....' + data.id;
console.log(data);
});
}
<img [src]='image' (click)="click1()" />
解决方法
我解决了, 问题是 Metronic 模板中存在的一行代码禁用了数据绑定。 通过禁用 changeDetection 修改,绑定再次起作用。
changeDetection: ChangeDetectionStrategy.OnPush,