页面有多个input,页面结构如下
<div class="weui-cell__bd">
<div class="col-10">
<input class="weui-input" placeholder="姓名" type="text" ng-model="fast1.name"/>
</div>
<div class="col-14">
<input class="weui-input" placeholder="号码" type="text" ng-model="fast1.number"/>
</div>
</div>
获取所有的input框监测值是否变化
$scope.fast1= {
name: '',
number: ''
}
var inputArr = angular.element('.weui-input');
angular.forEach(inputArr, function(item) {
$scope.$watch(item.value, function(newValue, oldValue) {
console.log(newValue);
console.log(oldValue);
});
});
输出的都是undefined,请问是怎么回事
你监听的
item
是一个局部变量,而$scope.$watch
监听的的是$scope
作用域下的变量,所以从理论上来说,是监听不到的,故而输出undefined
。更新代码: