在Angular js控制器中调用外部js文件函数
Call external js file function in Angular js controller
我有一个外部js文件,它有更多的功能。
我需要从angular控制器中调用这些函数。
例如:external.js
...
...
function fun() {
...
...
}
...
...
控制器: acccountController.js
myApp.controller('AddAccountController',function ($scope,AddAccountLoginServices,$location,localStorageService,$compile,toaster){
....
....
$scope.getLoginForm = function(siteId,name) {
...
...
fun(); // This function from external.js file
});
...
...
});
我已经在accountcontroller .js之前导入了external.js。但是它没有调用那个函数。而且我也没有得到任何控制台错误。
如何做到这一点…
EDIT:答错了,我的错。下面的例子可以工作。
你的外部文件应该像这样:
var doSomething = (function () {
"use strict";
return {
test: (function () {
return 'test';
}()),
test2: (function () {
return console.log('test 2');
})
};
}());
在控制器中调用脚本函数:
console.log(doSomething.test);
或
doSomething.test2();
我也学到了一些东西,谢谢;)
正如@nilsK所提到的,您定义了一个自调用函数。然后通过window
对象引用它。例如-
(function functionName(){
Do Something Here...
})();
,
window.functionName();
如果你用的是AngularJS,
$window.functionName();
我有类似的情况,我没有使它自调用函数。包括外部js文件到html,它工作得很好。
在哪里调用$scope.getLoginForm()?我想你从来没打过。所以fun()没有被调用,所以你看不到任何东西。你需要调用$scope.getLoginForm()。两种呼叫方式在HTML <button ng-click="getLoginForm()"></button>
中或在Javascript $scope.getLoginForm()
祝你好运!
您需要创建该函数的全局实例。
添加一行:
var abc= new funcName();您可以在控制器中使用这一行(var abc= new funcName();),通过使用abc. methodname .
相关文章:
- 如何在运行时在angular 2中加载外部js脚本
- 敲除js外部模板引擎-没有加载模板
- D3.js外部 JSON 文件
- 在所有浏览器上执行没有扩展名.js外部脚本重定向
- 汇总.js:外部依赖项中未定义的对象
- 通过 .scope().call() 从 JS 外部调用 Angular 服务会挂起请求
- React.js外部脚本
- Express js外部javascript文件未加载
- Js外部是不工作的头部标签的html
- Meteor.js +外部蒙古包.Meteor无法登录Mongo
- JS:外部加载
- .js外部模板
- 路由的Node.js外部文件
- RestMVC.js(猫鼬),Node.JS -外部模型文件
- Cheerio Node.JS外部标题链接问题
- 如何将所有js外部脚本标记合并为一个
- Mustache.js外部模板(不带jQuery)
- 来自经典asp页面的FullCalendar.js外部事件数据
- Knockout.js外部模板,不需要require.js
- 从.js/外部文件生成工具提示文本