如何将绑定的变量传递给 ng-click 函数?

我有一个简单的删除按钮,它将接受字符串或数字,但不接受 ng- 模型变量(不确定这是否是正确的术语)。

<button class="btn btn-danger" ng-click="delete('{{submission.id}}')">delete</button>

这就产生了:

<button class="btn btn-danger" ng-click="delete('503a9742d6df30dd77000001')">delete</button>

然而,当我点击。如果我硬编码一个变量,那么它工作得很好。我想我只是没有做事情的“角度”的方式,但我不知道这种方式是什么:)

这是我的控制器代码:

$scope.delete = function ( id ) {
alert( 'delete ' + id );
}
54156 次浏览

你不需要在 ng-click中使用花括号(\{\{}}) ,试试这个:

<button class="btn btn-danger" ng-click="delete(submission.id)">delete</button>

< a href = “ https://docs.angularjs.org/api/ng/direct/ngClick”rel = “ nofollow noReferrer”> ngClick 指令绑定 表情。它直接执行角码(如 ngIfngChange等)而不需要 \{\{ }}

angular.module('app', []).controller('MyCtrl', function($scope) {
$scope.submission = { id: 100 };


$scope.delete = function(id) {
alert(id + " deleted!");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>


<div ng-app="app" ng-controller="MyCtrl">
<button ng-click="delete(submission.id)">Delete</button>
</div>