我有两个angularjs文件。我已经在控制器内部创建了一个函数,现在我想从另一个模块和控制器中调用该函数。我尝试将模块依赖项注入到我的调用者模块中,但是它无法识别该函数。我是angularjs的新手。 >
这是我要调用的模块
var app = angular.module("demo", []);
app.controller("testCtrl", function($scope,$http,$window) {
$scope.temp = "";
$scope.rows = []; // init empty array
$scope.datainput =[];
$scope.dataconfig =[];
$scope.myrunner=function(canvasid,inputdata,configdata){
var flag=0;
$scope.datainput=inputdata;
$scope.dataconfig=configdata;
console.log("from base module");
}
$scope.refresh = function(){
location.reload();
}
});
这是呼叫者模块
var app = angular.module("tester", ["demo"]);
app.controller("mycontroller", function($scope) {
var input=[{"status":"PAY_FAIL","value":6248},{"status":"PAY_SUCCESS","value":868},{"status":"PM_REQUESTED","value":11199},{"status":"PAY_INIT","value":992}] ;
var config=[
{"type":"font_name","value":"Calibri"},
{"type":"font_size","value":"25px"}
] ;
$scope.myfn=function(){
demo.myrunner('myCanvas',input,config);
demo.myrunner('myCanvas2',input,config);
}
$scope.myfn();
});
答案 0 :(得分:0)
您需要使用工厂在两个模块之间进行通信。您不能在控制器内部拥有该功能,而不能从另一个模块调用该功能。
示例:
var moduleA= angular.module('demo',[]);
moduleA.factory('factoryA', function() {
return {
alertA: function() {
alert('a');
}
};
});
然后使用模块B中的alertA工厂:
angular.module('tester',['A']).controller('mycontroller',function($scope,'factoryA'){
factoryA.alertA();
});