2016-07-05 3 views
1

Я пытаюсь добавить 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

Что я пробовал:

  1. Использование других угловые версии,
  2. Пробовал init перехватчик с заводом-изготовителем,
  3. Измененный порядок модулей в массиве init,
  4. Пробовал другую версию 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); 
       } 

      }; 
     }]); 
    } 
]); 
+0

В моей инициализации модуля у меня есть ui.grid, а не ui-grid ... может помочь? –

+0

Это была опечатка, обновленная Q. –

+0

Как вы знаете, что ваш перехватчик не работает? Вы пытались добавить некоторые точки останова и отладки? – Phil

ответ

0

я поставил его с нуля, и он работает в настоящее время. Похоже, я где-то пропустил какую-то небольшую конфигурацию. Также очевидно, что ui-сетка не мешает угловому перехвату http, поэтому вывод заключается в том, что это было ложное предупреждение.