Javascript 在AngularJS的另一个模块中调用控制器中的函数
调用另一个模块中的另一个控制器中的函数时遇到问题。我不知道这是否可能,但这就是我现在拥有的:Javascript 在AngularJS的另一个模块中调用控制器中的函数,javascript,angularjs,Javascript,Angularjs,调用另一个模块中的另一个控制器中的函数时遇到问题。我不知道这是否可能,但这就是我现在拥有的: angular.module('search.controllers', ['socket.services', 'recipe.controllers']) .controller('SearchCtrl', ['$scope', '$state', 'socketService', 'recipeCtrl', function($scope, $state, socketS
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
未知提供程序:recipeCtrlProvider无法注入控制器,因此它无法简单工作。你需要用你的函数创建一个服务并注入这个服务
如果您需要在控制器之间交换数据,最好的选择是使用事件,但您的控制器需要嵌套,以便通过作用域进行通信
最后一个资源应该使用rootScope并监视值,但不建议这样做。您不能注入控制器,它们不是服务。所以不,这是不可能的。你需要实际的服务。