Javascript自调用功能无法在角度离子中工作

时间:2016-05-27 13:24:57

标签: javascript angularjs self-invoking-function

控制器内的代码是:

(function(){
    $scope.show();
    profile.friend_requests_to_me_service(loggedInUser.id).then(function(data){
        console.log(data);
        $scope.friend_requests_to_me = data.data.friend_request_to_me;
        $scope.friends = data.data.people_you_may_know;
        $scope.hide();
    });   
})();

正如您所看到的,此函数正在调用服务配置文件和该服务的方法。问题是此调用函数不起作用。给出错误: TypeError: (intermediate value)(...) is not a function。在plunker中,我检查了一个简单的自我调用函数。这是链接:http://jsfiddle.net/Lvc0u55v/4582/。 这个简单的自我调用函数正在工作。但是我无法理解为什么我的实际应用程序自我调用函数不起作用。谢谢你的时间。

目前的工作版本(非自我调用)是:      $scope.friendship_requests_to_me_function = function(){ $scope.show(); profile.friend_requests_to_me_service(loggedInUser.id).then(function(data){ console.log(data); $scope.friend_requests_to_me = data.data.friend_request_to_me; $scope.friends = data.data.people_you_may_know; $scope.hide(); });
} $scope.friendship_requests_to_me_function();

1 个答案:

答案 0 :(得分:1)

很可能你的一个js声明缺少';'在末尾。

尝试添加';'在你的自我调用功能之前

了解更多here

  

我们最终将第二个函数作为参数传递给第一个函数,然后尝试将第一个函数调用的结果作为函数调用。第二个函数将在运行时因“...不是函数”错误而失败。