Javascript 尽管src内容发生了变化,但图像没有变化
所以Javascript 尽管src内容发生了变化,但图像没有变化,javascript,angular,image,Javascript,Angular,Image,所以 user.photo\u url=“somr url”保持不变,但路径上的图像会发生变化 但这并不反映在用户界面上 因此,当src更新时,如何反映img上的变化 我尝试过但没有成功的事情 双向绑定(如图所示) ChangeDetectorRef(检测更改功能) 试试这个 this.appService.uploadProfileImage(this.user._id, this.imageFormData).then((response: any) => { this.
user.photo\u url=“somr url”
保持不变,但路径上的图像会发生变化
但这并不反映在用户界面上
因此,当src更新时,如何反映img上的变化
我尝试过但没有成功的事情
- 双向绑定(如图所示)
- ChangeDetectorRef(检测更改功能)
this.appService.uploadProfileImage(this.user._id, this.imageFormData).then((response: any) => {
this.user = response;
});
我刚刚测试了您的代码,您需要使用
[src]
而不是[(src)]
我在中做了一个小演示&效果很好
<img src="{{user.photo_url}}" alt="profileImage">
您可以添加
plunkr
或jsfiddle
来更好地了解这一点。您必须销毁映像并重新创建它,以便从服务器重新加载。一旦图像被浏览器下载,就无需再次加载。除非监视的变量发生变化,否则angular不会执行任何操作。它如何知道您在服务器上做了什么。在控制台中显示错误消息?
<img src="{{user.photo_url}}" alt="profileImage">
<button (click)="changeImg()">change image source</button>
<br>
<img [src]="img" alt="profileImage">
state : boolean;
img: string;
changeImg() {
this.state = ! this.state;
this.img = this.state ? "https://image.freepik.com/free-photo/blue-sky-with-clouds_1232-936.jpg" : "https://blogs.qub.ac.uk/queensuniversitybelfast/files/2015/05/red-sky.jpg"
}