javascript - 当值没有改变时如何更新AngularJS View ?

标签 javascript angularjs angular-ui

在我看来,我显示了用户个人资料中的照片,在我看来,我有:

 <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/

相关文章:

javascript - 如何访问从同一 Controller 中服务 block 外部的 api 接收的数据

javascript - Angularjs ngDisabled比较表达式没有正确评估

angularjs - Angular Bootstrap Modal 将背景打开

jquery - 从 Controller 获取 $viewValue

javascript - 使用按钮选择所有复选框

javascript - 单击标签将类添加到前一个 div,但不起作用

javascript - did() 到底是如何工作的以及如何在 did() 内循环执行?

javascript - 渲染器进程中外部安装的 Node 模块的 Electron 需要模块错误

angularjs - ng-bind-html 不加载图像 src

asp.net-mvc - 将数学符号插入 tinymce 4?