问题的背景:
我正在使用此问题的解决方案:How to update AngularJS view when the value has not changed? 所以在我看来,我有:
<img ng-src="{{user.photo.pathRelative}}{{randomStr}}" alt=""/>
当我更改照片时,我在我的控制器中运行以下代码:
$scope.user.photo.pathRelative = somePathToPhoto;
$scope.randomStr = '?randomStr=' + new Date().getTime();
这导致以下html(并且每个都可以正常工作):
<img ng-src="img/profiles/5350f142dd9624b818d90007/5350f142dd9624b818d90007.png?randomStr=1398159116845" alt="" src="img/profiles/5350f142dd9624b818d90007/5350f142dd9624b818d90007.png?randomStr=1398159116845">
问题:
现在我想允许用户删除这张照片,所以当他点击删除按钮时我会这样做:
$scope.user.photo.pathRelative = '';
$scope.randomStr = '';
然而,这导致以下html:
<img ng-src="" alt="" src="?randomStr=1398159116845">
所以src属性仍然设置,因此浏览器尝试渲染它,但显然路径无效。
为什么这个src被设置为不正确的值的任何提示?