[英]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.