반응형
Angular 체크박스와 ng클릭
각도 1.2:
<input type="checkbox" ng-model="vm.myChkModel" ng-click="vm.myClick(vm.myChkModel)">
제 상태가 적절하지 않습니다.myClick기능하고 있습니까?
클릭 후 상태를 알려주세요.
실행 순서ng-click그리고.ng-model명확한 우선순위를 정의하지 않기 때문에 애매합니다.대신,ng-change또는$watch에서$scope정확한 모형 변수 값을 얻을 수 있습니다.
이 경우는, 다음과 같이 동작합니다.
<input type="checkbox" ng-model="vm.myChkModel" ng-change="vm.myClick(vm.myChkModel)">
ng-click 대신 ng-change를 사용할 수 있습니다.
<!doctype html>
<html>
<head>
<script src="http://code.angularjs.org/1.2.3/angular.min.js"></script>
<script>
var app = angular.module('myapp', []);
app.controller('mainController', function($scope) {
$scope.vm = {};
$scope.vm.myClick = function($event) {
alert($event);
}
});
</script>
</head>
<body ng-app="myapp">
<div ng-controller="mainController">
<input type="checkbox" ng-model="vm.myChkModel" ng-change="vm.myClick(vm.myChkModel)">
</div>
</body>
</html>
카르데알의 답변이 큰 도움이 되었습니다.좀 더 나아가서 다른 사람들에게 도움이 될 수 있을 거라고 생각했어요.여기 바이올린이 있습니다.
https://jsfiddle.net/vtL5x0wh/
그리고 코드:
<body ng-app="checkboxExample">
<script>
angular.module('checkboxExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.value0 = "none";
$scope.value1 = "none";
$scope.value2 = "none";
$scope.value3 = "none";
$scope.checkboxModel = {
critical1: {selected: true, id: 'C1', error:'critical' , score:20},
critical2: {selected: false, id: 'C2', error:'critical' , score:30},
critical3: {selected: false, id: 'C3', error:'critical' , score:40},
myClick : function($event) {
$scope.value0 = $event.selected;
$scope.value1 = $event.id;
$scope.value2 = $event.error;
$scope.value3 = $event.score;
}
};
}]);
</script>
<form name="myForm" ng-controller="ExampleController">
<label>
Value1:
<input type="checkbox" ng-model="checkboxModel.critical1.selected" ng-change="checkboxModel.myClick(checkboxModel.critical1)">
</label><br/>
<label>Value2:
<input type="checkbox" ng-model="checkboxModel.critical2.selected" ng-change="checkboxModel.myClick(checkboxModel.critical2)">
</label><br/>
<label>Value3:
<input type="checkbox" ng-model="checkboxModel.critical3.selected" ng-change="checkboxModel.myClick(checkboxModel.critical3)">
</label><br/><br/><br/><br/>
<tt>selected = {{value0}}</tt><br/>
<tt>id = {{value1}}</tt><br/>
<tt>error = {{value2}}</tt><br/>
<tt>score = {{value3}}</tt><br/>
</form>
ng-click과 ng-model의 실행 순서는 각도 1.2 대 1.6으로 다르다.
1.2와 1.6을 사용하여 테스트해야 합니다.
예를 들어 각도 1.2의 경우 ng-click get execute before ng-model, 각도 1.6의 경우 ng-model은 ng-click 전에 excute가 될 수 있다.
그래서 'true checked' / 'false check' 값을 얻을 수 있습니다.
언급URL : https://stackoverflow.com/questions/20290738/angular-checkbox-and-ng-click
반응형
'programing' 카테고리의 다른 글
| Redux에서는 상세 복사가 필요합니까? (0) | 2023.03.11 |
|---|---|
| 왜 잭슨 2는 첫 번째 대문자를 인식하지 못하는가? 낙타의 경우 단어 길이가 한 글자밖에 되지 않는데? (0) | 2023.03.11 |
| MongoDB가 모든 쿼리를 로깅합니다. (0) | 2023.03.11 |
| 2012년에 권장되는 jQuery 템플릿은 무엇입니까? (0) | 2023.03.11 |
| Oracle SQL Developer - 테이블을 볼 수 없습니다. (0) | 2023.03.11 |