이 글은 주로 AngularJ의 ng-change 이벤트/명령에 대한 요약을 소개합니다. 편집자가 꽤 좋다고 생각해서 이제 공유하고 참고용으로 제공하겠습니다. 편집자를 따라 살펴보겠습니다. 모두에게 도움이 되기를 바랍니다.
정의 및 사용법
ng-change 지시문은 HTML 요소의 값이 변경될 때 수행할 작업을 AngularJS에 알려주는 데 사용됩니다.
ng-change 지시어는 ng-model 지시어와 함께 사용해야 합니다.
AngularJS ng-change 지시문은 기본 onchange 이벤트를 재정의하지 않습니다. 이 이벤트가 트리거되면 ng-change 표현식과 기본 onchange 이벤트가 모두 실행됩니다.
ng-change 이벤트는 값이 변경될 때마다 트리거되며 수정 프로세스가 완료될 때까지 기다리거나 작업이 포커스를 잃을 때까지 기다릴 필요가 없습니다.
ng-change 이벤트는 JavaScript를 통한 수정이 아닌 입력 상자 값의 실제 수정만을 대상으로 합니다.
Syntax
<element ng-change="expression"></element>
,
매개변수 값
값 | 설명 |
---|---|
expression | 요소 값이 변경되면 표현식을 실행합니다. |
입력 상자의 값이 변경될 때 실행 함수:
<body ng-app="myApp"> <p ng-controller="myCtrl"> <input type="text" ng-change="myFunc()" ng-model="myValue" /> <p>The input field has changed {{count}} times.</p> </p> <script> angular.module('myApp', []) .controller('myCtrl', ['$scope', function($scope) { $scope.count = 0; $scope.myFunc = function() { $scope.count++; }; }]); </script> </body>
예시 설명, 라디오 및 체크박스
참고: 체크박스 ng-model은 항상 true 또는 false이고 값이 아니며 다른 ng- 모델의 기본값은 값입니다.
HTML
<h3>Radio 控件测试</h3> <p><label> <input type="radio" value="男" name="sex" ng-model="value1" ng-change="radioChecked()" /> 男 </label> <label> <input type="radio" value="女" name="sex" ng-model="value1" ng-change="radioChecked()" /> 女 </label></p> <h3>checked 控件测试</h3> <p><p class="checkbox"> <label> <input name="agree" type="checkbox" value="同意" ng-model="value2" ng-change="checkboxClick()" /> 同意协议 </label> </p> <p class="checkbox"> <label> <input name="agree" type="checkbox" value="同意2" ng-model="value2" ng-change="checkboxClick()" /> 同意协议2 </label> </p></p>
JS:
var app = angular.module('myApp', []); app.controller('validateCtrl', function ($scope) { //randio ng-change事件和原始onchange相同 //radio ng-model 的值是value $scope.radioChecked = function () { console.info($scope.value1); } //checkbox ng-change事件和原始onchange相同 //checkbox ng-model总是是true或false $scope.checkboxClick = function () { console.info($scope.value2); } });
예제 설명, 텍스트, 선택
HTML
<form class="form-horizontal"> <p class="form-group"> <label class="control-label">姓名:</label> <input type="text" class="form-control" ng-model="name" ng-change="txtChange();" /> </p> <p class="form-group"> <label class="control-label">选择年级:</label> <select class="form-control" ng-change="selectChange();" ng-model="grade"> <option value="1">一年级</option> <option value="2">二年级</option> </select> </p> </form>
JS
var app = angular.module('myApp', []); app.controller('validateCtrl', function ($scope) { //textbox 的ng-change事件和原始ng-change不相同,而是和$scope.$watch()监听相同 //textbox 的ng-model为当前输入框的内容,为value值 $scope.txtChange = function () { console.info($scope.name); } //select 的ng-change事件和原始ng-change相同 //ng-model 的默认情况下ng-model的结果为value值 $scope.selectChange = function () { console.info($scope.grade); } });
관련 권장 사항:
AngularJS의 컨트롤러 상속 방법에 대한 튜토리얼
지시문을 사용한 Angularjs 렌더링의 별점 시스템 구현에 대해
위 내용은 AngularJs ng-change 이벤트/지시문 사용 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!