作者:瓦尔登湖 | 来源:互联网 | 2023-09-04 01:41
定义和用法
ng-change 指令用于告诉 AngularJS 在 HTML 元素值改变时需要执行的操作。
ng-change 指令需要搭配 ng-model
指令使用。
AngularJS ng-change 指令指令不会覆盖原生的 onchange 事件, 如果触发该事件,ng-change 表达式与原生的 onchange 事件都会执行。
ng-change 事件在值的每次改变时触发,它不需要等待一个完成的修改过程,或等待失去焦点的动作。
ng-change 事件只针对输入框值的真实修改,而不是通过 Javascript 来修改。
语法
<
element
ng-change=
"expression"
>
<
/element
>
,
,
参数值
值 |
描述 |
expression |
元素值改变时执行表达式。 |
实例说明,radio和checkbox
注:checkbox ng-model总是是true或false,而不是value,其他的ng-model默认都是value 的值
HTML
Radio 控件测试
checked 控件测试
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);
}
});
实例说明,text,select
HTML
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);
}
});