在分页指令中我有:
<tr dir-paginate="item in NumDen | itemsPerPage: 10">
<td><span ng-click="EditThis()"ng-bind=item.Id ></span></td>
<td ng-bind=item.Name></td>
</tr>
在我的 Controller 中,我有:
$scope.EditThis = function () {
alert(this.item.Id);
}
当我在 Chrome 调试器中查看它时,我看到有一个“this”对象,其中包含单个项目的所有值以及其他属性。这是一个美妙的、意想不到的惊喜。
这是标准的 AngularJS 功能吗,用于获取绑定(bind)到单击事件的对象?
最佳答案
您可能正在考虑 jQuery 事件处理程序,其中 this
是元素。
ng-click
但是没有元素上下文或模型数据上下文,它只是使用其所在的 Angular 范围的上下文调用其属性值中包含的表达式。
将 item
作为函数的参数传递:
ng-click="EditThis(item)"
然后在 Controller 中:
$scope.EditThis = function (item) {
alert(item.Id);
}
关于javascript - 请解释 AngularJs 调试中的 ng-click 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32786386/