Я пытаюсь добавить Angular UI Grid в мое приложение, после введения учебника Tutorial: 101 Intro to UI-Grid и столкнулся с следующей проблемой.
Во-первых, сетка работает, я могу создать его в контроллер и связать для просмотра, но как только я добавить его в проект (просто добавить как модуль, без фактического использования его в любом месте) перехватчик, который работал ранее не запускается больше, более конкретно это необходимо для загрузки шаблона вида с ng-include (см. некоторые фрагменты кода ниже).
EDIT: Обратите внимание, что ng-include работает, он просто не проходит через перехватчик, но работает так, как его нет.
- Угловая 1.4.8
- UI Сетка 3.2.1
- JQuery 2.2.0
Что я пробовал:
- Использование других угловые версии,
- Пробовал init перехватчик с заводом-изготовителем,
- Измененный порядок модулей в массиве init,
- Пробовал другую версию jQuery.
Неужели кто-нибудь сталкивался с такой проблемой, возможно, с другими модулями?
HTML:
<body>
<div ng-app="app">
<div ng-controller="app.views.layout as vm">
<div ng-include="'/App/Main/views/layout/header.cshtml'"></div>
<div class="container">
<div class="angular-animation-container row">
<div ui-view class="shuffle-animation col-xs-12"></div>
</div>
</div>
</div>
</div>
</body>
Угловая инициализации приложения:
var app = angular.module('app', [
'ngAnimate',
'ngSanitize',
'ui.router',
'ui.bootstrap',
'ui.jq',
'ngTouch'
'ui.grid'
'abp',
]);
перехватчик регистрации:
var abpModule = angular.module('abp', []);
abpModule.config([
'$httpProvider', function ($httpProvider) {
$httpProvider.interceptors.push(['$q', function ($q) {
return {
'request': function (config) {
if (endsWith(config.url, '.cshtml')) {
config.url = abp.appPath + 'AbpAppView/Load?viewUrl=' + config.url + '&_t=' + abp.pageLoadTime.getTime();
}
return config;
},
'response': function (response) {
if (!response.config || !response.config.abp || !response.data) {
return response;
}
var defer = $q.defer();
abp.ng.http.handleResponse(response, defer);
return defer.promise;
},
'responseError': function (ngError) {
var error = {
message: ngError.data || abp.ng.http.defaultError.message,
details: ngError.statusText || abp.ng.http.defaultError.details,
responseError: true
}
abp.ng.http.showError(error);
abp.ng.http.logError(error);
return $q.reject(ngError);
}
};
}]);
}
]);
В моей инициализации модуля у меня есть ui.grid, а не ui-grid ... может помочь? –
Это была опечатка, обновленная Q. –
Как вы знаете, что ваш перехватчик не работает? Вы пытались добавить некоторые точки останова и отладки? – Phil