Как вы можете передать связанную переменную в функцию ng-click?
у меня есть простая кнопка удаления, которая будет принимать строку или число, но не будет принимать переменную 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>
однако, ничего не происходит, когда я нажимаю. Если я жестко кодирую переменную, то она работает просто отлично. Я предполагаю, что я просто не делаю вещи "угловым" способом, но я не уверен, что это такое:)
вот мой код контроллера:
$scope.delete = function ( id ) {
alert( 'delete ' + id );
}
2 ответа:
вам не нужно использовать фигурные скобки (
{{}}
) вng-click
, попробуйте это:<button class="btn btn-danger" ng-click="delete(submission.id)">delete</button>
The
ngClick
директива связывает выражение. Он выполняет угловой код непосредственно (как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>