如何从AngularJS控制器访问常规Javascript函数

How to access regular Javascript function from AngularJS controller

本文关键字:常规 Javascript 函数 访问 控制器 AngularJS      更新时间:2023-09-26

我的控制器中有一个角度函数,我想调用一个外部javascript函数,这不起作用,我不确定我缺少什么:

$scope.addSubscription = function(){
  var id = $scope.userId;
  var name = Exec.UserService.fetch(id);
  $scope.user.push({id:id, name:name});
}

我的外部javascript代码看起来像这样:

var Exec = (function() {
  "use strict";
        return {
           EntityManager: (function(){
             // some code here
           }());
           UserService: (function(){
             return {
               fetch: function(id){
                 // some code here
                 return 'something';
               },
               modify: function(id, status){
                // some code here
               }
             }; 
           }()) 
         } // end of outer return
      }()); // end of Exec

它之所以不起作用,是因为您需要使用','而不是';'来分隔对象中的键值对。这是一个语法错误,您应该能够在浏览器的控制台中看到它。

var Exec = (function () {
    "use strict";
    return {
        EntityManager: (function () {
        }()),  // -> should be , not ;
        UserService: (function () {
            return {
                fetch: function (id) {
                    return 'something';
                },
                modify: function (id, status) {
                }
            };
        }())
    }
}());

DEMO