我有两个js文件,app.js和datepicker.js。我这里的html文件没什么关系。在datepicker.js中有一个名为clickApply()的javascript函数。我想调用另一个来自clickApply()函数的app.js文件中的submitDetails()函数。怎么做?
angular.module('ctrl').controller('MyCtrl', ["$scope","$rootScope", function($scope, $rootScope){
$rootScope.submitDetails=function()
}]);//inside app.js

clickApply: function(e) { //inside datepicker.js
angular.element('#span').on("click",submitDetails());
this.hide();
this.element.trigger('apply.daterangepicker', this);
}

答案 0 :(得分:0)
没有人喜欢在角度范围之外执行角度函数。如果你想在AngularJS中实现jQuery或任何其他外部插件,请将其包装在指令中并使用它。
以下代码仅用于debugging
目的。
将clickApply
功能签名更改为以下内容:
scope
,您可以使用angular.element(element).scope()
rootScope
,您可以使用angular.element('body')。scope()。$ root`
clickApply: function(e) { //inside datepicker.js
angular.element('#span').on("click", function(e) {
// if you want to access rootScope
var rootScope = angular.element('body').scope().$root;
rootScope.submitDetails();
// if you want to access current scope
// var scope = angular.element(e.target).scope();
// scope.submitDetails();
});
this.hide();
this.element.trigger('apply.daterangepicker', this);
}