我正在构建一个由各种模块组成的大角度应用程序。
- 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等将跨模块重复使用。有更好的方法吗?
发布于 2014-11-07 15:04:11
我会添加一个配置模块,它将处理设置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']);https://stackoverflow.com/questions/26803777
复制相似问题