首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该在大角度应用程序中实例化子模块吗?

我应该在大角度应用程序中实例化子模块吗?
EN

Stack Overflow用户
提问于 2014-11-07 14:47:14
回答 1查看 96关注 0票数 1

我正在构建一个由各种模块组成的大角度应用程序。

代码语言:javascript
复制
- app
  -- member
    --- newMember
    --- memberDashboard
  -- linguistics
  -- etc
     --- etc etc

在html中,我正在实例化各个模块,因为我相信比引导整个app更能提高性能。

代码语言:javascript
复制
<div ng-app="linguistics">
    <div ui-view autoscroll="true"></div>
</div>

但是,这意味着我必须在模块配置中重复自己。即:

代码语言:javascript
复制
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等将跨模块重复使用。有更好的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-07 15:04:11

我会添加一个配置模块,它将处理设置html5Mode、scrollTo等的繁重工作。

代码语言:javascript
复制
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);
      }
    });
  });

然后在接下来的模块中:

代码语言:javascript
复制
angular.module('linguistics', ['configuration']);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26803777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档