ホームページ >ウェブフロントエンド >jsチュートリアル >AngularJs ng-change イベント/ディレクティブの使用法について

AngularJs ng-change イベント/ディレクティブの使用法について

小云云
小云云オリジナル
2018-05-10 17:23:212582ブラウズ

この記事は主に AngularJs の ng-change イベント/コマンドの概要を紹介するもので、編集者が非常に優れていると考えたので、参考として共有します。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。

定義と使用法

ng-change ディレクティブは、HTML 要素の値が変更されたときに何を行うかを AngularJS に指示するために使用されます。

ng-change ディレクティブは ng-model ディレクティブと一緒に使用する必要があります。

AngularJS ng-change ディレクティブは、ネイティブの onchange イベントをオーバーライドしません。このイベントがトリガーされると、ng-change 式とネイティブの onchange イベントの両方が実行されます。

ng-change イベントは、値が変更されるたびにトリガーされます。変更プロセスが完了するのを待ったり、アクションがフォーカスを失うのを待つ必要はありません。

ng-change イベントは、JavaScript を介した変更ではなく、入力ボックスの値の実際の変更のみを対象としています。

構文

<element ng-change="expression"></element>
  1. d5fd7aea971a85678ba271703566ebfd、221f08282418e2996498697df914ce4e、および4750256ae76b6b9d804861d8f69e79d3要素がサポートされています。

  2. &lt; radio&gt;、&lt;チェックボックス&gt;

パラメーター値

<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- モデルのデフォルトは値です。
<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>
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); 
 } 
});
例の説明、テキスト、選択
入力ボックスの値が変更されたときの実行関数: 説明、ラジオ、チェックボックスの例
HTMLJS:
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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。