剛接觸angularjs在使用的過程當中遇到這個問題javascript
首先咱們的圖片地址是根據ID來獲取的,因此用了指令來完成圖片的綁定java
.directive("cImg", ['appUrl', function (appUrl) { return { restrict: 'A', link: function (scope, element, attrs) { var url = appUrl+ "/GetImgUrl"; var para = { id: attrs.id}; scope.baseService.post(url, para, function (data) { $(element).attr("src", data.d); }); } }; }])
<img c-img id="{{id}}" width="200" height="120" alt="">
可是這樣的話上傳圖片後若是不刷新頁面的話圖片地址是不會更新的,解決方法是用一個$scope變量來記錄是否顯示圖片,這樣在更新這個變量後就會刷新圖片了angularjs
<img ng-if="IsShowImg" c-img id="{{id}}" width="200" height="120" alt="">
function () { var url = url+ "/up_load"; //上傳以前設置爲false 隱藏圖片 $scope.IsShowImg=false; $scope.baseService.post(url, {}, function (data) { //上傳成功後顯示圖片 $scope.IsShowImg = true; }); }