programing

ng-click 함수에 바인딩 된 변수를 어떻게 전달할 수 있습니까?

nasanasas 2020. 11. 1. 18:13
반응형

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>

그러나 클릭해도 아무 일도 일어나지 않습니다. 변수를 하드 코딩하면 잘 작동합니다. 나는 "Angular"방식으로 일을하지 않고 있다고 가정하지만 그 방식이 무엇인지 잘 모르겠습니다. :)

내 컨트롤러 코드는 다음과 같습니다.

$scope.delete = function ( id ) {
    alert( 'delete ' + id );
}

에서 중괄호 ( {{}}) 를 사용할 필요가 없습니다 . 다음 ng-click을 시도해보세요.

<button class="btn btn-danger" ng-click="delete(submission.id)">delete</button>

ngClick지시어는 결합 식을 . 직접적 (AS 각도 코드를 실행하여 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>

참고 URL : https://stackoverflow.com/questions/12647891/how-can-you-pass-a-bound-variable-to-an-ng-click-function

반응형