Ответ 1
Вам не нужно использовать фигурные скобки ({{}}
) в ng-click
, попробуйте следующее:
<button class="btn btn-danger" ng-click="delete(submission.id)">delete</button>
У меня есть простая кнопка удаления, которая примет строку или число, но не примет переменную 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 );
}
Вам не нужно использовать фигурные скобки ({{}}
) в ng-click
, попробуйте следующее:
<button class="btn btn-danger" ng-click="delete(submission.id)">delete</button>
Директива ngClick
связывает выражение . Он выполняет 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>