如何在AngularJS app之外调用JS函数?

时间:2015-06-13 21:38:35

标签: angularjs

我在JS文件上有简单函数的JS文件:

function Alert(){
  alert();
}

在另一个文件中,我在Angular JS上有应用程序。 首先在页面上连接简单的JS文件,在标签<head>

上连接Angular JS之后

如何从控制器Angular JS调用Alert()方法?

简单的JS文件:

$(function(){
function leftTimeInit(){
        $.each($('.action-loader'), function(index, val) {
            initLoader($(this), $(this).data('percentage'));
        });
    }
});

控制器中的Angular JS:

leftTimeInit();

我收到错误:

  

未捕获的ReferenceError:未定义leftTimeInit

1 个答案:

答案 0 :(得分:1)

您不应该在控制器中进行DOM操作。所以你应该重新考虑如何使用该功能。

无论如何,leftTimeInit在匿名函数中声明,并且只在那里可见。你不能在其他任何地方打电话。如果您需要,则必须将其移出$(function(){})。但正如我所说,不推荐。

至于你的Alert()示例......在Angular中你可以通过$ window访问简单的JS全局函数(当然,它们是全局的,无论如何你都可以访问它们,但是如果你使用$ window你可以模拟他们在测试中)。

.controller('Ctrl', function ($scope, $window) {
  $window.Alert('something');
});