我有一个简单的删除按钮,它接受一个字符串或数字但不接受ng-model变量(不确定这是否是正确的术语)。
<button class="btn btn-danger" ng-click="delete('{{submission.id}}')">delete</button>
生成:
<button class="btn btn-danger" ng-click="delete('503a9742d6df30dd77000001')">delete</button>
然而,点击时没有任何反应。如果我对变量进行硬编码,那么它就可以了。我假设我不是以“Angular”方式做事,但我不确定那是什么方式:)
这是我的控制器代码:
$scope.delete = function ( id ) {
alert( 'delete ' + id );
}
答案 0 :(得分:134)
您不需要在{{}}
中使用大括号(ng-click
),试试这个:
<button class="btn btn-danger" ng-click="delete(submission.id)">delete</button>
答案 1 :(得分:1)
ngClick
指令绑定表达式。它直接执行Angular代码(如ngIf
,ngChange
等)而无需{{ }}
。
angular.module('app', []).controller('MyCtrl', function($scope) {
$scope.submission = { id: 100 };
$scope.delete = function(id) {
alert(id + " deleted!");
}
});
&#13;
<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>
&#13;