2014-04-22 47 views
2

語境的問題時:吳-SRC更新,但SRC不刪除照片

我使用的是從這個問題的解決方案: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(和e veryting的作品,因爲它應該):

<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被設置爲不正確的值?

+0

也許刪除函數運行在不同的範圍。沒有任何代碼很難說。 – zeroflagL

回答

4

如果路徑沒有設置,您可以設置ng-if以擺脫img元素。

+0

是的,目前我使用ng-show,但是,我想了解爲什麼我當前的解決方案無法正常工作。 – Jakub

+0

那麼,這裏的規範:https://github.com/angular/angular.js/blob/master/test/ng/directive/ngSrcSpec.js。 –

0

這是一個已知問題(實際上這是設計)。看到這個link和解決方法。