解释为什么这不起作用?删除角度中断app中的依赖项

时间:2015-07-24 16:13:54

标签: angularjs angular-ui-router lazy-loading ngsanitize

我一直在研究一些样板材,并遇到了一些奇怪的事情。

我有一个模块,它工作正常:

define([
    'angular',
    'angular-couch-potato',
    'angular-sanitize',
    'angular-ui-router',
], function (ng, couchPotato) {
    "use strict";

    var module = ng.module('app.home', [
        'ngSanitize',
        'ui.router'
    ]);

    module.config(function ($stateProvider, $couchPotatoProvider) {
        $stateProvider
            .state('app.home', {
                url: '/',
                views: {
                    "content@app": {
                        controller: 'HomeCtrl',
                        templateUrl: 'app/components/home/views/home.html',
                        resolve: {
                            deps: $couchPotatoProvider.resolveDependencies([
                                'components/home/controllers/HomeController'
                            ])
                        }
                    }
                },
                data:{
                    title: 'Home'
                }
            });
    });

    couchPotato.configureApp(module);
    module.run(function($couchPotato){
        module.lazy = $couchPotato;
    });
    return module;
});

现在,如果我从定义中删除angular-sanitize,那么:

define([
    'angular',
    'angular-couch-potato',
    'angular-ui-router',
], function (ng, couchPotato) {
    "use strict";

    var module = ng.module('app.home', [
        'ui.router'
    ]);

    module.config(function ($stateProvider, $couchPotatoProvider) {
        $stateProvider
            .state('app.home', {
                url: '/',
                views: {
                    "content@app": {
                        controller: 'HomeCtrl',
                        templateUrl: 'app/components/home/views/home.html',
                        resolve: {
                            deps: $couchPotatoProvider.resolveDependencies([
                                'components/home/controllers/HomeController'
                            ])
                        }
                    }
                },
                data:{
                    title: 'Home'
                }
            });
    });

    couchPotato.configureApp(module);
    module.run(function($couchPotato){
        module.lazy = $couchPotato;
    });
    return module;
});

它不再有效。 Chrome会抛出此错误:

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.26/$injector/modulerr?p0=app&p1=Error%3A%20…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.26%2Fangular.min.js%3A18%3A170)

我的控制器是空的,只有依赖$ scope,视图文件只有p标签的hello world。

有人可以向我解释我错过了什么或为什么会这样吗?

0 个答案:

没有答案