在 ngrepeat 中使用 onclick
Posted
技术标签:
【中文标题】在 ngrepeat 中使用 onclick【英文标题】:Using onclick in ngrepeat 【发布时间】:2020-06-07 20:06:29 【问题描述】:有没有办法使用ng-repeat
中的onclick
事件来调用jQuery 函数?
HTML:
<table>
<tr ng-repeat="item in items">
<td><a onclick="loadEditModal(item.Id)">Edit</a></td>
</tr>
</table>
jQuery:
function = loadEditModal()
alert("yes");
;
【问题讨论】:
检查一下,希望对你有帮助related issue 检查这个相关问题,希望对***.com/questions/21877008/…有帮助 【参考方案1】:您应该为此使用 angularjs ng-click
:(https://docs.angularjs.org/api/ng/directive/ngClick)
<table>
<tr ng-repeat="item in items">
<td><a ng-click="loadEditModal(item.Id)">Edit</a></td>
</tr>
</table>
编辑: 要从外部 js 文件中调用函数(这不是一个好习惯!),您可以像上面一样使用 ng-click,然后从 angularjs 控制器的函数中调用外部方法,如下所示:
loadEditModal ()
var modalFunc = window["loadEditModal"];
modalFunc();
;
【讨论】:
我不想使用 ng-click 我需要触发jquery函数 好的,我用另一个解决方案进行了编辑,但这是一个非常糟糕的做法【参考方案2】:我猜你不必使用ng-click
。
在这种情况下,您可以直接从on-click
调用Jquery/javascript 函数,但是有一个问题是您无法在该函数中绑定item.id
值。所以你必须以
格式将值传递给loadEditModal
函数:
<a onclick="loadEditModal(item.Id)">Edit</a>
<script>
function loadEditModal (id)
console.log(id)
</script>
【讨论】:
以上是关于在 ngrepeat 中使用 onclick的主要内容,如果未能解决你的问题,请参考以下文章