每次调用监视组时,我只尝试调用一次来触发console.log并仅发出一次警报。因为如果情况属实,我每次只想提醒一次,我真的希望你们可以帮助我!
$scope.$watch('email.data', function(val){
if(re.test(val)){
$scope.invalid = true;
console.log('email true');
}else{
console.log('email false');
}
});
$scope.$watch('phone.data', function(val){
if(PHONE_REGEXP.test(val)){
console.log('phone true');
$scope.invalid = true;
}else{
$scope.invalid = true;
console.log('phone false');
}
});
答案 0 :(得分:0)
$scope.$watch
返回一个函数。如果你打电话给你,你会删除你的观察者
var emailDataWatcher = $scope.$watch('email.data', function(val){
if(re.test(val)){
$scope.invalid = true;
console.log('email true');
}else{
console.log('email false');
}
emailDataWatcher();
});
var phoneDataWatcher = $scope.$watch('phone.data', function(val){
if(PHONE_REGEXP.test(val)){
console.log('phone true');
$scope.invalid = true;
}else{
$scope.invalid = true;
console.log('phone false');
}
phoneDataWatcher();
});