调用AngularJS中另一个模块中控制器中的函数
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并监视值,但不建议这样做
相关文章:
- AngularJS,angular.element($0).scope()揭示了每个控制器的函数
- 为什么我的控制器没有启动函数.js脚本
- 从全局函数调用Ember控制器上的方法
- AngularJS:控制器中的函数被模板多次调用
- 在Angular中呈现DOM对象时,如何调用控制器中指定的函数
- Angular,从指令控制器中的控制器触发函数
- 如何在指令链接函数中使用从控制器传递的筛选器
- 从控制器Angularjs调用链接函数
- 角度指令控制器:参数不是函数,未定义
- 如何从页面中的jquery调用angular js函数控制器
- angularjs调用事件中控制器的一个函数
- 通过指令在控制器中执行javascript函数
- AngularJS执行指令模板中的控制器函数
- 从指令链接函数监视控制器作用域
- AngularJS:如何与其他控制器共享作用域函数和变量
- 如何在angular ui模态控制器中定义函数
- 当指令中已经给定作用域时,如何访问控制器中声明的函数
- AngularJS:如何调用指令中定义的函数'控制器的作用域
- 我是否需要将工厂调用放在控制器的函数中
- 如何在角函数控制器中传递绑定值