2014-11-07 2 views
1

Я строй большого угловое приложения состоит из различных модулейДолжен ли я создать экземпляр подмодуля в больших угловых приложениях

- app 
    -- member 
    --- newMember 
    --- memberDashboard 
    -- linguistics 
    -- etc 
    --- etc etc 

В HTML я инстанцирование отдельных модулей, потому что я считаю, что быть улучшением производительности по сравнению с самозагрузкой весь app.

<div ng-app="linguistics"> 
    <div ui-view autoscroll="true"></div> 
</div> 

Однако это означает, что я должен повторить себя в конфигурации модуля. то есть:

angular.module('linguistics', [ 
    'ui.router', 
    'ui.bootstrap', 
    'googlechart', 
    'babelServices', 
    'babelFilters' 
]).config(function($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider) { 
    $locationProvider.html5Mode(true); 
}).config(function($provide) { 
    return $provide.decorator('$uiViewScroll', function($delegate, $window) { 
     return function(uiViewElement) { 
      //eventually do something more intelligent with the uiViewElement 
      return $window.scrollTo(0, 0); 
     }; 
    }); 
}); 

html5Mode, scrollTo и т. д. будет повторяться через модули. Есть лучший способ сделать это?

ответ

1

Я бы добавить модуль конфигурации, который будет обрабатывать черновую работу установки html5Mode, scrollTo и т.д.

angular.module('configuration', ['ui.router']) 
    .config(function ($locationProvider, $provide) { 
    $locationProvider.html5Mode(true); 

    // For angular 1.3 
    $locationProvider.html5Mode({ 
     enabled: true, 
     requireBase: /* true/false */ 
    }); 

    $provide.decorator('$uiViewScroll', function ($delegate, $window) { 
     return function (uiViewElement) { 
     return $window.scrollTo(0, 0); 
     } 
    }); 
    }); 

, а затем в ваших последующих модулей:

angular.module('linguistics', ['configuration']); 
+0

крутая идея. Благодаря! Я еще не принял ваш ответ, потому что я держу за любую информацию об относительной производительности загрузки модуля верхнего уровня по сравнению с одним из составных модулей. – Joseph