[英]Call a function in a controller in another module in AngularJS
我在另一個模塊中的另一個控制器中調用函數時遇到問題。 我不知道這是否可行,但這就是我現在所擁有的:
angular.module('search.controllers', ['socket.services', 'recipe.controllers'])
.controller('SearchCtrl', ['$scope', '$state', 'socketService', 'recipeCtrl',
function($scope, $state, socketService, recipeCtrl) {
recipeCtrl.setRecipe({});
}
]);
angular.module('recipe.controllers', [])
.controller('recipeCtrl',
function($scope) {
this.onRecipeSelect = function(recipe) {
console.log(JSON.stringify(recipe));
}
}
);
這給了我錯誤:
Unknown provider: recipeCtrlProvider <- recipeCtrl <- SearchCtrl
任何人都知道如何完成我想要做的事情?
控制器不能注入,因此簡單不起作用。 您需要使用您的功能創建服務並注入此服務。
如果您需要在控制器之間交換數據,最好的選擇是使用事件,但您的控制器需要嵌套才能通過范圍進行通信。
最后一個資源應該使用rootScope並監視值,但不建議這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.