我想立即定义函数,然后在事件(单击)上调用以传递参数。
直到我使函数($ 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/