如何将绑定variables传递给ng-click函数?
我有一个简单的删除button,将接受一个string或数字,但不会接受ng模型variables(不知道这是否是正确的术语)。
<button class="btn btn-danger" ng-click="delete('{{submission.id}}')">delete</button>
其中生成:
<button class="btn btn-danger" ng-click="delete('503a9742d6df30dd77000001')">delete</button>
然而,当我点击时什么也没有发生。 如果我硬编码一个variables,那么它工作得很好。 我假设我只是没有做“angular”的方式,但我不知道这是什么方式:)
这是我的控制器代码:
$scope.delete = function ( id ) { alert( 'delete ' + id ); }
你不需要在ng-click
使用大括号( {{}}
,试试这个:
<button class="btn btn-danger" ng-click="delete(submission.id)">delete</button>
ngClick
指令绑定一个expression式 。 它直接执行Angular代码(如ngIf
, ngChange
等),而不需要{{ }}
。
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>