<legend id='9s0hm'><style id='9s0hm'><dir id='9s0hm'><q id='9s0hm'></q></dir></style></legend>

    • <bdo id='9s0hm'></bdo><ul id='9s0hm'></ul>

    <small id='9s0hm'></small><noframes id='9s0hm'>

    1. <i id='9s0hm'><tr id='9s0hm'><dt id='9s0hm'><q id='9s0hm'><span id='9s0hm'><b id='9s0hm'><form id='9s0hm'><ins id='9s0hm'></ins><ul id='9s0hm'></ul><sub id='9s0hm'></sub></form><legend id='9s0hm'></legend><bdo id='9s0hm'><pre id='9s0hm'><center id='9s0hm'></center></pre></bdo></b><th id='9s0hm'></th></span></q></dt></tr></i><div id='9s0hm'><tfoot id='9s0hm'></tfoot><dl id='9s0hm'><fieldset id='9s0hm'></fieldset></dl></div>
    2. <tfoot id='9s0hm'></tfoot>

      带角度的requirejs - 不使用嵌套路由解决控制器依赖关系

      时间:2023-10-21
    3. <legend id='zLNDx'><style id='zLNDx'><dir id='zLNDx'><q id='zLNDx'></q></dir></style></legend>

        <tbody id='zLNDx'></tbody>
      <i id='zLNDx'><tr id='zLNDx'><dt id='zLNDx'><q id='zLNDx'><span id='zLNDx'><b id='zLNDx'><form id='zLNDx'><ins id='zLNDx'></ins><ul id='zLNDx'></ul><sub id='zLNDx'></sub></form><legend id='zLNDx'></legend><bdo id='zLNDx'><pre id='zLNDx'><center id='zLNDx'></center></pre></bdo></b><th id='zLNDx'></th></span></q></dt></tr></i><div id='zLNDx'><tfoot id='zLNDx'></tfoot><dl id='zLNDx'><fieldset id='zLNDx'></fieldset></dl></div>
      <tfoot id='zLNDx'></tfoot>

            <small id='zLNDx'></small><noframes id='zLNDx'>

            • <bdo id='zLNDx'></bdo><ul id='zLNDx'></ul>

                本文介绍了带角度的requirejs - 不使用嵌套路由解决控制器依赖关系的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                http://www.example.com/profile/view 中,当路由具有多个级别时,RequireJS 无法正确解析依赖关系.如果我只有 http://www.example.com/view,则控制器依赖关系已正确解决.

                The RequireJS is not resolving dependency properly when the routes is of multiple levels as in http://www.example.com/profile/view. If I just have http://www.example.com/view, the controller dependency is resolved properly.

                我的 bootstrap.js

                My bootstrap.js

                require.config({
                    baseUrl : 'res/js',
                    paths: {
                        routeResolve: 'routeResolve',
                        'domReady': 'lib/domReady',
                        angular: 'lib/angular',
                        angularRoute: 'lib/angular-route',
                        angularResource: 'lib/angular-resource',
                        angularSanitize: 'lib/angular-sanitize',
                        cssPath : '../css'
                    },
                    map: {
                      '*': {
                        css: 'lib/require-css/css.min'
                      }
                    },
                    shim: {
                        'angular': {'exports': 'angular'},
                        'angularRoute': {deps : ['angular']},
                        'angularResource': {deps : ['angular']},
                        'angularSanitize': {deps : ['angular']}
                    },
                    priority: ['angular']
                });
                

                文件夹结构:

                -rootdir
                    - public
                          - res
                              - js
                              - css
                

                当我使用这条路由 http://www.example.com/profile/view 时,所有依赖模块都使用基本 url 解析为 http://www.example.com/profile/res/js/controller.js,该路径http://www.example.com/profile中不存在.

                When I use this route http://www.example.com/profile/view, all the dependency modules are resolved with base url as http://www.example.com/profile/res/js/controller.js, which does not exist in this path http://www.example.com/profile.

                如果我将路由更改为 http://www.example.com/view(仅一级),则使用此基本 url http://www.example 解决依赖关系.com/res/js/controller.js

                If I change the route to http://www.example.com/view (just one level), dependencies are resolved with this base url http://www.example.com/res/js/controller.js

                应该有我遗漏的配置问题,但我找不到解决方案.

                There should be a configuration issue which I am missing, but I could not find a solution for this.

                推荐答案

                我在这里创建了 working plunker.它基于对 angular-ui-router with requirejs, lazy loading of controller 的回答.我希望该问题与 HTML 设置有关 <base href...

                I created working plunker here. It is based on the answer to angular-ui-router with requirejs, lazy loading of controller. I would exepct that the issue will be related to HTML setting <base href...

                有一个状态示例,在resolve中通过requireJS懒加载控制器:

                There is an example of the state, which in resolve loads lazily controller via requireJS:

                $stateProvider
                  .state("first", {
                    url: "/firstr",
                    template: "<div>The message from ctrl: {{message}}</div>",
                    controller: "FirstCtrl",
                    resolve: {
                      loadOtherCtrl: ["$q", function($q) {
                        var deferred = $q.defer();
                        require(["FirstCtrl"], function() { deferred.resolve(); });
                        return deferred.promise;
                      }],
                    },
                  });
                

                该示例有 main.js:

                There is the main.js for that example:

                var cfg = {
                
                    baseUrl: "res/js/",
                
                    // alias libraries paths
                    paths: { 
                
                        // here we define path to NAMES
                        // to make controllers and their lazy-file-names independent
                
                        "TopMenuCtrl": "Controller_TopMenu", 
                        "ContentCtrl": "Controller_Content", 
                        "OtherCtrl"  : "Controller_Other",  
                        "FirstCtrl"  : "Controller_First",
                        "app"  : "../../app",  
                    }, 
                
                    deps: ['app'] 
                } 
                
                require.config(cfg);  
                

                这里最重要的想法,因为:

                The most important think here, because of the:

                $locationProvider.html5Mode({enabled: true});
                

                是index.html中base的设置:

                is the setting of the base in the index.html:

                <script>
                  var urlBase = document.location.pathname;
                  document.write('<base href="'+ urlBase +'" />')
                </script>
                

                因为我需要在这里确保这将在 plunker 中工作,所以我愿意动态生成它,但在您的情况下,它可能只是 <base href="/"/> 或其他一些设置,它将教"所有网络在哪里搜索资源

                Because I need here to be sure that this will work in plunker I do generate that dynamically, but in your case it could be just <base href="/" /> or some other setting, which will "teach" all the web where to search for resources

                检查它这里在行动.阅读更多这里

                这篇关于带角度的requirejs - 不使用嵌套路由解决控制器依赖关系的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:在 resolve() 引发错误后重定向到模板时出现 Angular UI Router 问题 下一篇:简单的 ui-routes,请解释一下

                相关文章

                    • <bdo id='MwjK7'></bdo><ul id='MwjK7'></ul>
                    <i id='MwjK7'><tr id='MwjK7'><dt id='MwjK7'><q id='MwjK7'><span id='MwjK7'><b id='MwjK7'><form id='MwjK7'><ins id='MwjK7'></ins><ul id='MwjK7'></ul><sub id='MwjK7'></sub></form><legend id='MwjK7'></legend><bdo id='MwjK7'><pre id='MwjK7'><center id='MwjK7'></center></pre></bdo></b><th id='MwjK7'></th></span></q></dt></tr></i><div id='MwjK7'><tfoot id='MwjK7'></tfoot><dl id='MwjK7'><fieldset id='MwjK7'></fieldset></dl></div>

                    <tfoot id='MwjK7'></tfoot>
                  1. <legend id='MwjK7'><style id='MwjK7'><dir id='MwjK7'><q id='MwjK7'></q></dir></style></legend>

                    <small id='MwjK7'></small><noframes id='MwjK7'>