AngularJs通过$scope和$watch监听数据变化

AngularJs通过$scope和$watch可以检测数据的变化,从而提醒用户进行正确的操作,具体方法如下:

01<!DOCTYPE html>
02<html lang="en">
03<head>
04    <meta charset="UTF-8">
05    <title>Title</title>
06    <style type="text/css">
07        .ng-cloak{display:none;}
08    </style>
09</head>
10<body ng-app="app" ng-controller="ctrl" ng-cloak class="ng-cloak">
11    <input type="text" ng-model="data1" />{{error1}}
12    <input type="text" ng-model="data2.title">{{error2}}
13</body>
14</html>
15<script type="text/javascript" src="../js/angular.min.js"></script>
16<script type="text/javascript">
17    var m = angular.module('app', []);
18    m.controller('ctrl', ['$scope'function($scope){
19        $scope.data1 = 'zym';
20        $scope.$watch('data1'function(n, o){
21            console.log(n);
22            $scope.error1 = n.length>3 ? '最多3个字' '';
23        })
24 
25        $scope.data2 = {'title':'zym'};
26        $scope.$watch('data2'function(n, o){
27            console.log(n);
28            $scope.error2 = n.title.length>3 ? '最多三个字' '';
29        }, true);
30    }]);
31</script>

$scope.$watch的第一个参数是要监听的变量数据,回调函数里边的第一个参数是新数据,第二个参数是旧数据。

如果监听的变量数据是一个对象,那么$scope.$watch还需要加入第三个参数true。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值