Как вы можете передать связанную переменную в функцию 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 );
}
70 голосов | спросил ccraig 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 29 Sep 2012 01:55:36 +0400 2012, 01:55:36

2 ответа


0

Вам не нужно использовать фигурные скобки ({{}}) в ng-click, попробуйте это:

<button class="btn btn-danger" ng-click="delete(submission.id)">delete</button>
ответил pkozlowski.opensource 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 29 Sep 2012 02:34:44 +0400 2012, 02:34:44
0

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>
ответил Mistalis 24 PMpMon, 24 Apr 2017 16:22:00 +030022Monday 2017, 16:22:00

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132