>  기사  >  웹 프론트엔드  >  AngularJs ng-change 이벤트/지시문 사용 정보

AngularJs ng-change 이벤트/지시문 사용 정보

小云云
小云云원래의
2018-05-10 17:23:212543검색

이 글은 주로 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>
  1. d5fd7aea971a85678ba271703566ebfd, 221f08282418e2996498697df914ce4e 및 4750256ae76b6b9d804861d8f69e79d3 요소가 지원됩니다.

  2. 6d8f25fb4c19d8589488d67d4a3324d6,132fb881aa2cfa2235870f1b0b25902f

매개변수 값

설명
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(&#39;myApp&#39;, [])
.controller(&#39;myCtrl&#39;, [&#39;$scope&#39;, 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(&#39;myApp&#39;, []); 
app.controller(&#39;validateCtrl&#39;, 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(&#39;myApp&#39;, []); 
app.controller(&#39;validateCtrl&#39;, 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 렌더링의 별점 시스템 구현에 대해

위 내용은 AngularJs ng-change 이벤트/지시문 사용 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.