簡體   English   中英

如何在值未更改時更新AngularJS視圖?

[英]How to update AngularJS view when the value has not changed?

在我看來,我從用戶的個人資料中顯示了一張照片,在我看來,我有:

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

當用戶上傳新照片時,會將其上傳到服務器並更新路徑中的圖片。 結果是圖片的數據發生了變化,但是user.photo.pathRelative保持不變。 這就是為什么視圖中的圖片不會改變的原因。

任何想法如何強制視圖刷新圖片,即使模型上的值沒有改變(但未更改的數據)?

你需要使用ng-src(只是一個FYI)。

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

然后在上傳后設置隨機字符串。

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

缺點是刷新后這不起作用......


如果您想要下面提到的@Tom,您也可以將兩者結合起來。 我不喜歡這樣做,但是你正在修改一個可以保存的“對象”。 例如,如果您使用ng-resource並修改了pathRelative,然后修改了$ save,則會導致在數據庫中更新pathRelative。

問題是圖像被緩存。 要解決此問題,您可以將pathRelative設置為路徑+當前日期,例如:

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

並在它發生變化時更新

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM