如何从模块依赖关系(另一个模块)调用函数
how to call a function from module dependency (another module)
我想创建单独的模块进行分页,因为我需要它在不同的模块中重用,但我不知道如何从模块依赖(另一个模块)调用函数
这是我的主要模块:
var App = angular.module('search', ['pagination']);
App.controller('MainController', ['$scope', '$pagination' function($scope, $pagination) {
$scope.testFunction(); //function from pagination module controller
}])
这是我的分页模块:
var App = angular.module('pagination', []);
App.controller('PaginationController', ['$scope', function($scope) {
$scope.testFunction = function(){
console.log("pagination module");
}
}])
我得到错误:
Error: [$injector:unpr] Unknown provider: $paginationProvider <- $pagination
要在两个模块之间共享资源,请声明工厂或服务。
假设你有一个搜索模块:
//you inject your pagination module here
var searchModule = angular.module('search', ['pagination']);
//and you ALSO need to inject your pagination's service into your controller
searchModule.controller('MainController', ['$scope', 'paginationSvc' function($scope, paginationSvc) {
//function from pagination module controller
paginationSvc.testFunction();
}])
还有你的分页模块:
var pagination = angular.module('pagination', []);
//declare your pagination service here
pagination.factory('PaginationSvc', [function(){
return {
testFunction:testFunction
};
function testFunction(){
console.log('This is from pagination module');
}
}])
也许一点plnkr会有所帮助:D
不能在控制器中注入控制器。您的pagination
模块需要声明将被注入控制器中的服务、工厂或提供商。
请参阅此处的文档。
您应该创建一个分页指令并将其插入到需要的地方。您可能会从这篇文章中得到一些好主意。
相关文章:
- 从一个模块暴露到另一个模块
- 从导出的模块返回变量,并在另一个文件(NodeJS)中使用它
- 如何从另一个模块调用函数
- 无法调用requirejs中的另一个模块
- 在另一个模块中重用私有jQuery函数
- 从另一个模块访问作用域的指令
- 将模块函数传递给另一个文件中的函数
- 节点 js 从客户端和另一个节点模块调用相同的延迟函数
- 在 node.js 中,模块中的一个文件如何查看模块中另一个文件中的函数
- webpack 1:resolve.alias 不将一个 npm 模块别名到另一个 npm 模块
- 无法从 Dojo 模块调用另一个 Dojo 模块中的函数
- nodejs 将值从一个模块传递到另一个模块
- JavaScript 将一个模块“导入”到另一个模块中
- 在打字稿中隐式引用另一个内部模块
- 如何将方法导出到另一个模块
- 使用在另一个服务方法中声明为模块模式的服务方法之一
- 使用 on nodejs 从另一个模块捕获事件
- 使用 Sinon.js 测试一个函数是否调用 ES6 模块中的另一个函数
- 来自另一个模块的 Angularjs 路由控制器
- 依赖注入工厂模块另一个