如何在onclick函数内传递角度js变量作为参数

uda*_*y s 15 javascript angularjs angularjs-ng-repeat

我试图在onclick()中传递AngularJS变量作为参数值来调用javascript函数.任何人都可以指导我如何做到这一点?

我的代码:

 <div onclick="deleteArrival({{filterList.id}})" class="table-icon deleteIcon">{{filterList.id}}</div>
Run Code Online (Sandbox Code Playgroud)

Six*_*dio 24

您应该使用ng-click,没有理由使用onclick,因为angular会为您提供此功能

<div ng-click="deleteArrival(filterList.id)" 
     class="table-icon deleteIcon">{{filterList.id}}</div>
Run Code Online (Sandbox Code Playgroud)

然后,您应该将您的函数移动到AngularJS控制器中,并将其绑定到范围

$scope.deleteArrival = function(filterListId) { ... };
Run Code Online (Sandbox Code Playgroud)

如果您绝对需要使用onclick来调用外部函数,您可以在范围内将函数更改为类似的内容,仍然使用上面的ng-click属性:

$scope.deleteArrival = function(filterListId) { window.deleteArrival(filterListId); };
Run Code Online (Sandbox Code Playgroud)

但是我看不出有什么理由不把它移到你的范围内

  • 他可能想要使用 onclick 而不是 ng-click 的原因有很多,我们最明显的是他依赖于一个不是用 Angular 编写的大型 javascript 库。 (2认同)

小智 5

如果您仍然想使用onclick,那么这对我有用,我希望它对您也有用。

<div id="{{filterList.id}}" onclick="deleteArrival(this.id)" class="table-icon deleteIcon">{{filterList.id}}</div>
Run Code Online (Sandbox Code Playgroud)