2014-10-08 69 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' 
    }; 
}); 
相關問題