我想立即定义函数,然后在事件(单击)上调用以传递参数。

直到我使函数($ scope.appFunctions.testBtn)成为一个示例之前,这段代码一直有效。


这是因为匿名函数的作用域现在是iife,而不是变量?
我该如何解决?


查看片段

<button type="button" ng-click="appFunctions.testBtn('filterStr')">testBtn</button>


控制器片段

$scope.appFunctions.testBtn = (function(filterStr){
  alert("testBtn Clicked");
})();

最佳答案

现在在您的代码中,$scope.appFunctions.testBtn是函数执行的结果,而其中的undefined。并将此undefined传递给ng-click指令。这样做会不会更容易?

$scope.appFunctions.testBtn = function (filterStr) {/*...*/}
$scope.appFunctions.testBtn();


您将其绑定后立即调用,它适用于ng-click

关于javascript - 稍后在我的代码中调用IIFE时出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44204055/

10-09 04:16