在我看来,我显示了用户个人资料中的照片,在我看来,我有:
<img src="{{user.photo.pathRelative}}"/><br/>
当用户上传新照片时,它会上传到服务器并更新路径中的图片。结果是图片的数据发生了变化,但是 user.photo.pathRelative 保持不变。这就是 View 中的图片不发生变化的原因。
即使模型上的值未更改(但底层数据已更改),我有什么想法可以强制 View 刷新图片吗?
最佳答案
您需要使用 ng-src (仅供引用)。
<img ng-src="{{user.photo.pathRelative}}{{randomStr}}"/><br/>
然后在上传后设置随机字符串。
$scope.randomStr = '?randomStr=' + new Date().getTime();
缺点是刷新后将不起作用...
<小时/>如果您愿意,也可以将两者结合起来,就像下面提到的@Tom 一样。我不喜欢这样做,因为您可能正在修改可以保存的“对象”。例如,如果您使用 ng-resource 并修改了 pathRelative 然后 $save,则会导致数据库中的 pathRelative 被更新。
关于javascript - 当值没有改变时如何更新AngularJS View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23155022/