当值没有改变如何更新AngularJS看法?(How to update AngularJS vie

2019-10-30 11:31发布

在我看来,我diplay从用户的个人资料照片,在我看来,我有:

 <img src="{{user.photo.pathRelative}}"/><br/>

当用户上传新的照片被上传到服务器,并在路径中的画面被更新。 其结果是,画面的数据被改变,然而,user.photo.pathRelative保持不变。 这就是为什么在视角的图片不会改变的原因。

任何想法如何,我可以强制视图刷新画面即使在模型中的价值没有改变(但数据undeneath改变)?

Answer 1:

你需要使用NG-SRC(只是一个供参考)得到。

 <img ng-src="{{user.photo.pathRelative}}{{randomStr}}"/><br/>

然后设置上传后随机字符串。

$scope.randomStr  = '?randomStr=' +  new Date().getTime();

缺点是这不会刷新后工作...


如果你想要像@汤姆下文提到的你也可以将二者结合起来。 我不喜欢这样做,BC要修改的潜在可能被保存了“对象”。 例如,如果你使用的是NG的资源和你修改pathRelative然后$保存,它会导致pathRelative在数据库中更新。



Answer 2:

问题是,图像缓存。 为了解决这个问题,你可以设置pathRelative的路径+当前的日期,如:

$scope.user.photo.pathRelative = "/somePath?" + new Date().getTime();

和更新,它改变时



文章来源: How to update AngularJS view when the value has not changed?