首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Angular js控制器中调用外部js文件函数

在Angular js控制器中调用外部js文件函数
EN

Stack Overflow用户
提问于 2014-05-16 22:14:47
回答 5查看 28.8K关注 0票数 20

我有一个功能更多的外部js文件。

我需要从angular控制器调用这些函数。

例如:external.js

代码语言:javascript
复制
...
...
function fun() {
  ...
  ...
}
...
...

控制器:acccountController.js

代码语言:javascript
复制
myApp.controller('AddAccountController',function ($scope,AddAccountLoginServices,$location,localStorageService,$compile,toaster){
   ....
   ....

   $scope.getLoginForm = function(siteId,name) { 
            ...
            ...
            fun(); // This function from external.js file
   });

   ...
   ...

});

我已经在acccountController.js之前导入了external.js。但是它不会调用那个函数。而且我也没有收到任何关于这个的控制台错误。

如何实现这一点...提前谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-05-16 22:19:33

编辑:回答错误,是我的错。下面的示例起作用。

您的外部文件应如下所示:

代码语言:javascript
复制
var doSomething = (function () {
  "use strict";
   return {
      test: (function () {
        return 'test';
      }()),
      test2: (function () {
        return console.log('test 2');
      })
   };
}());

在你的控制器中调用你的脚本函数:

代码语言:javascript
复制
console.log(doSomething.test);

代码语言:javascript
复制
doSomething.test2();

我也学到了一些东西,谢谢;)

票数 10
EN

Stack Overflow用户

发布于 2015-06-28 17:41:25

正如@nilsK所提到的,您可以定义一个self invoking function。然后通过window对象引用它。例如:

代码语言:javascript
复制
(function functionName(){
    Do Something Here...
})();

然后,

代码语言:javascript
复制
window.functionName();

如果您使用的是AngularJS,

代码语言:javascript
复制
$window.functionName();
票数 6
EN

Stack Overflow用户

发布于 2015-10-04 22:34:12

我有类似的情况,我不需要让它自己调用函数。将外部js文件包含到html中,它工作得很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23697493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档