控制器在另一个模块

问题描述:

我有一个index.html(主入口点)一个指令内所引用的模块中定义的,我有一个main.js文件,说:控制器在另一个模块

(function() { 

var pop = angular.module('mainApp', []); 

pop.directive = ('directive1', function() { 
    return { 
     restrict: 'E', 
     templateUrl: notIndex.html, 
     controller: // how to reference controller1 here? , 
     controllerAs: controller1Alias 
    } 

    }); 

// pop.directives some more... 

})(); 

我有一个notIndex.html (模板或片段),并在notMain.js定义这个网站相应的控制器说:

(function() { 

var app = angular.module('app1', []); 

app.controller = ('controller1', function() { 

    function1... 
    function2... 
    . 
    . 
    . 
    functionN 

}); 

})(); 

所以我的问题是:

  1. 如何在notMain.js的directive1中引用controller1?

  2. 我不能在notIndex.html中有标签(它没有模板的标题或正文),对不对?我如何从这个html引用在notMain.js中定义的AngularJS指令?在index.html中,我想?

感谢您的帮助。

您可以添加app1作为mainApp模块的依赖关系,它应该能够通过控制器的名称引用控制器。事情是这样的:

(function() { 
    var pop = angular.module('mainApp', ['app1']); 

    pop.directive = ('directive1', function() { 
     return { 
      restrict: 'E', 
      templateUrl: 'notIndex.html', 
      controller: 'controller1' 
      controllerAs: 'controller1Alias' 
     }; 
    }); 
})(); 

注意到,我改变app.directivepop.directive?这是因为app1在您的mainApp关闭中不可用。

+0

感谢您的回答。对于问题2,我是对的,

+0

如果您在notIndex.html中包含脚本标记,那么它将不起作用,您应该在您的index.html中包含脚本标记 – ryeballar 2014-10-02 11:58:19