请在Debug中解释AngularJs ng-click行为

时间:2015-09-25 16:10:44

标签: javascript angularjs

在paginate指令中我有:

<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>

在我的控制器中我有:

    $scope.EditThis = function () {
    alert(this.item.Id);
}

当我在Chrome调试器中观看时,我发现我有一个&#39;这个&#39;包含单个项的所有值以及其他属性的对象。这是一个奇妙而意想不到的惊喜。

这个标准的AngularJS功能,是为了获取绑定到click事件的对象吗?

1 个答案:

答案 0 :(得分:1)

您可能正在考虑使用this作为元素的jQuery事件处理程序。

然而,

ng-click没有元素上下文或模型数据上下文,它只是使用它所在的角度范围的上下文来调用它的属性值中包含的表达式。

传递item作为函数的参数:

ng-click="EditThis(item)"

然后在控制器中:

$scope.EditThis = function (item) {
    alert(item.Id);
}