angular ui-router-extras可以将控制器和工厂(在延迟加载模块中)放到另一个模块,如module1.controller?

时间:2015-02-11 02:20:34

标签: angularjs angular-ui-router angular-ui-router-extras

我已将ui-router-extras放入我的项目中以通过延迟加载模块添加状态,它工作正常,我将控制器,工厂,提供程序等放入另一个模块,就像module1.controller一样。 module1依赖于module.controller,module1中定义的状态需要在module.controller中定义的控制器。 module1代码:

    define(['angularAMD',

        'ngload!module1.controller'], function (angularAMD) {

        var app = angular.module("module1", ['ui.router', 'module1.controller']);

        var mainState = {
            name: 'module1',
            url: '/module1',
            template: '<h1>Module1</h1><h4>This state was dynamically loaded from module1.js</h4>' +
                '<div>module1.js defines 3 nested states</div>' +
                '<div><a ui-sref=".state1">go to state1</a></div><div ui-view></div>',
            controller: 'Ctl1'
        };
...

module1.controller代码:

define(['angular', 'angularAMD'], function (angular, angularAMD) {

    var controller = angular.module("module1.controller", []);

    controller.controller("Ctl1", ['$scope', function ($scope) {
        $scope.Welcome = {};
        $scope.Welcome.Message = "welcome to module1";
    }]);

    angularAMD.processQueue();

});

当应用程序运行时,我遇到异常:错误:[ng:areq]参数'Ctl1'不是函数,未定义

我能为它做些什么?

0 个答案:

没有答案