2014-10-08 65 views
0

我有一个模块“paramApp”与控制器“ParamCtrl”控制器注入到一个指令:如何在另一个模块

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

app.controller('ParamCtrl', ['$scope', '$http', function($scope, $http) { 
    . 
    . 
    . 
}]); 

我还有一个模块“deviceApp”用指令“DeviceDirective”:

var app2 = angular.app('deviceApp', []); 

app2.directive('DeviceDirective', function() { 

    return { 
     . 
     . 
     . 
     controller: // I want to reference ParamCtrl here 
     controllerAs: param 
    }; 

}); 

我在某处阅读我需要使用angular.injector(或$注入器)注入控制器,但我不确定如何使用它。我尝试使用注射器不起作用。

这种方法是否正确?我需要在“deviceApp”声明这样的声明“paramApp”,

var app2 = angular.app('deviceApp', ['paramApp']); 

请有关如何使用注射器在指令控制器引用另一个模块的控制器帮助。

回答

2

我想你的意思是angular.module('paramApp', [])angular.module('deviceApp', [])?虽然你声明依赖的方法似乎是正确的。我建议不要将所有模块分配给变量,以免污染全局范围。对于你的例子,你可以尝试:

angular.module('paramApp', []); 

angular.module('paramApp').controller('ParamCtrl', ['$scope', '$http', function($scope, $http) { 
    . 
    . 
    . 
}]); 

angular.module('deviceApp', ['paramApp']); 
angular.module('deviceApp').directive('DeviceDirective', function() {  
    return { 
    . 
    . 
    . 
    controller: 'ParamCtrl' 
    }; 
}); 
相关问题