1

我已经实现了模块以在需要时加载模块。所以我已经实现了获取状态和 js 文件的结构:

    - 应用程序
      --main(加载模块)
        --views
        --控制器
        --服务(全球)
      --modules(自定义模块)
        --认证
          --视图/控制器/服务
          --authentification.config.js(状态列表和依赖项)
        --用户
          --视图/控制器/服务
          --users.config.js(状态列表和依赖项)      
       --app.config.js(抽象全局状态)
       --global.modules.js(需要时加载的模块列表)

我的问题是:当我重新加载页面时,它会将我重定向到其他网址。所以我对它进行了调查,我发现 angular ui-router 在加载负责模块之前读取了 url。我需要延迟获取 URL,直到加载器模块完成加载。

global.modules.js

    // 自定义应用模块
    var CUSTOM_MODULES = [
        {
            名称:'用户',
            自动加载:真
        },
        {
            name: '认证',
            自动加载:真
        }
    ];

身份验证.config.js

    ModuleFactory.createModule({
        module : 'authentification', // 模块名称
        dependencies : ['WS'], // 依赖注入
        状态 : [
            {
                名称:'用户',
                网址:'/用户',
                摘要:假
            },
            {
                名称:'user.login',
                url: '/登录',
                templateUrl: 'login.html',
                服务:['authCas.js', 'authWS.js', 'profile.js'],
                控制器:['loginController.js']
            },
            {
                名称:'user.forgetpassword',
                url: '/sendmailconfirmation',
                模板网址:'忘记密码.html'
            }
        ]
    });
    
app.config.js
<pre>
ModuleFactory.createModule({
    module : 'app', // Name of the module
    isBootstrapModule : true,
    dependencies : [ 'ui.router','ui.bootstrap','ui.load','ui.jq','ui.validate',  'oc.lazyLoad', 'oc.lazyload.config', 'ngDebug'],
    otherwiseUrl : '/app/home',
    states : [
        {
            name: 'app', // State Name
            url: '/app', // State URL
            abstract: true, // true if your state is just a layout / container
            vendorModules: VENDOR_MODULES
        },
        {
            name: 'app.home',
            url: '/home',
            templateUrl: 'home.html',
            controllers: ['homeController.js']
        }
    ]
});

4

0 回答 0