[英]Is there a way to call Angular Controller function from Javascript written inside <Script> tag in the HTML Page
[英]calling javascript function defined in html script tag from angular controller
我有一个在脚本标记内定义javascript函数的.html。 由于显然xxx()不在bCtrl内,有人知道如何调用xxx()吗? 关键是我无法将函数xxx移到控制器或指令中,因为不知道角度的人负责此函数。
<html ng-app="myApp">
<div ng-controller="bCtrl">
.....
</div>
<script>
(function($) {
$(function(){
function xxx () {
// do something
}
});
})(jQuery);
</script>
</html>
angular
.module('myApp')
.controller('bCtrl', [
'$scope',
function ($scope) {
// wanna call xxx() if possible
}
]);
问题不在于它是在script标签中定义的,而是在于它是在函数中定义的(将回调传递给$
)。 这意味着该功能完全是私有的。 除非某个东西可以从该函数外部对其进行引用,否则不可能从该函数外部对其进行调用。
一种可能的方法是将其分配给全局变量:
window.xxx = xxx;
...但是总的来说,全局变量是万不得已的解决方案。
相反,也许您可以将该函数移至模块中(理想情况下,所有事情都在该非Angular块中完成),然后将对该模块的依赖项注入到控制器中,然后以这种方式进行调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.