我有這個控制器A,我試圖注入每個其他控制器。 就是控制器A呢,它有一個工廠通信(其中做一些認證服務,與數據庫通信)Angularjs:注入一個控制器在另一個失敗
我廠是這樣的,我把它命名爲myFactoryServices.js
和包含在我的索引頁的鏈接。
(function() {
angular
.module('myApp.myFactoryServices', [])
.factory('FactoryService', ["$http", "$location", function($http, $location){
var my = this;
my.someFunction = function()
{
//communiate with backend and return data
}
return my;
}]);
})();
和我的控制器A是這樣的:
(function() {
angular
.module('myApp.ControlA', [])
.controller('ControllerA', function($scope,$routeParams, FactoryService) {
var my = this;
FactoryService.someFunction();
});
})();
,我試圖注入該控制器在所有其他的控制器,但它不工作。我對這種編程很新,誰能告訴我我犯了什麼錯誤?
這是我試過注射控制器到另一個。
(function() {
angular
.module('myApp.ControlB', [])
.factory('ControllerBService', function($http) {
var baseUrl = 'backendurl/';
return {
getInfo: function() {
return $http.get(baseUrl+ 'getInfo');
}
};
})
.controller('ControllerB', function($scope,$routeParams, ControllerBService,ControllerA) {
var my = this;
});
})();
沒有錯誤,並且控制器沒有被注入,因爲我無法使用這些工廠服務。這是正確的方法嗎?
Cotnrollers不可注射。如果你想分享一些行爲,請使用服務/工廠。 – sielakos