我有一個MVC剃刀網站,並希望在視圖中顯示我的loading.gif它加載時。 我的設置是這樣的:顯示加載覆蓋,而MVC加載查看
- 的的MainPage是與客戶的網格。
- 當我點擊在網格中的客戶,我切換到CustomerPage。
- 在CustomerPage是獲取與他們的信息填寫另外的表格
目前,它儘快顯示加載覆蓋當我點擊客戶在的MainPage,只有改變了,當一切都已經完成了查看加載。我不想那樣。它會造成奇怪的用戶體驗。它需要同時加載信息
這是我_Layout.cshtml相關部分上顯示網格CustomerPage:
<div loading-Overlay></div>
<div id="MainBody" ng-if="!isRouteLoading" ui-view="main">
@RenderBody()
</div>
這是我的裝載覆蓋指令:
(function() {
"use strict";
angular
.module("myApp")
.directive("loadingOverlay", ["$http",
function ($http) {
return {
restrict: "A",
replace: true,
templateUrl: "./Scripts/app/loading.overlay.html",
scope: {},
link: function (scope, element) {
scope.isLoading = function() {
return $http.pendingRequests.length > 0;
};
scope.$watch(scope.isLoading,
function (value) {
return value ? element.addClass("show") : element.removeClass("show");
});
}
};
}]);
})();
當指令被加載時,您只設置了'scope.isLoading'一次。你也需要觀察這個變量(或者只是添加一個控制器代碼)。 – strelok2010
我怕我甚至不知道你想看到它的控制器編碼的一部分。誰處理這個項目的傢伙走了,現在我來處理它(同時學習兩種MVC和Angularjs,因爲我去) – FullStackDAU
好了,要知道,你在路由代碼中使用「解決」? – strelok2010