我們有使用AngularJS的ASP.NET應用程序。有一個包含圖片及其屬性的表格(列表)的頁面。圖片在表格的第一欄。代碼如下所示:如何使用AngularJS刷新上一頁?
<td>
<a ng-href="{{pic.FullUrl}}" target="_blank">
<img class="img-thumbnail" ng-src="{{pic.FullUrl}}" alt="{{pic.AltText}}" />
</a>
</td>
我們可以通過單擊「編輯」按鈕並轉到下一頁(編輯)來編輯某些圖片。我們進行了更改後,單擊「返回」按鈕返回上一頁(列表)。
問題是如果我們在編輯頁面上更改它,第一頁上的圖像沒有刷新,即pic.FullUrl不生效。
我試過使用手錶功能,但沒有運氣。
如何使它工作?
UPDATE
我們有一個服務:
PictureApp.factory('PictureService', function ($http, $location) {
var PictureService = function() {
this.ToList = function (objType, objId, mode) {
$location.path('/' + objType + '/' + objId + '/' + mode);
};
而且我們使用它時,以這種方式接受的編輯頁面上進行更改:
$scope.Accept = function() {
...
query.then(function() {
PictureService.ToList($routeParams.objType, $routeParams.objId, $routeParams.mode);
});
};
正如你可以看到我們稱之爲ToList和去列表頁面,但沒有重新加載。
在列表的控制器,我們有這樣的:
$scope.$watch('rbMode', function (val) {
PictureService.ToList($routeParams.objType, $routeParams.objId, val);
});
列表頁上,我們有這樣的:
<div ng-if="dataLoaded">
<div ng-switch="rbMode">
<div ng-switch-when="static">
<div ng-include="'partials/Pic/PicTable.htm'" onload="this.pics = data;"></div>
</div>
<div ng-switch-when="banner">
<accordion close-others="false">
<accordion-group is-open="expandBanners" heading="{{pics[0].TypeDescription}}" ng-repeat="pics in data">
<div ng-include="'partials/Pic/PicTable.htm'" onload="this.pics = $parent.pics;" ></div>
</accordion-group>
</accordion>
</div>
</div>
</div>
而且PicTable.htm看起來如下:
<tr ng-repeat="pic in pics" ng-class="{'movable-row':isBanner}">
<td>{{pic.PictureLinkID}}</td>
<td>
<a ng-href="{{pic.FullUrl}}" target="_blank">
<img class="img-thumbnail" ng-src="{{pic.FullUrl}}" alt="{{pic.AltText}}" tooltip-popup-delay='1000' tooltip-placement="right" tooltip="Кликните, чтобы открыть в полном размере" />
</a>
</td>
您是否遇到緩存問題?如果是這樣,請嘗試添加一個時間戳參數到圖像url的末尾。 – mccainz
當我通過按F5刷新頁面時,顯示新圖像。 – tesicg