首页 > 代码库 > $watch叫做数据脏检查,用来检测angular数值变化
$watch叫做数据脏检查,用来检测angular数值变化
每次添加数组到$scope.a中:
1 <!DOCTYPE html> 2 <html ng-app="atr"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script src="angular.min.js"></script> 7 <script> 8 var app=angular.module(‘atr‘,[]); 9 app.controller(‘test‘,function($scope){ 10 $scope.a=[1,2,3,4]; 11 $scope.$watch(‘a‘,function(){ 12 alert(‘变化了‘) 13 },true) 14 }) 15 </script> 16 </head> 17 <body> 18 <div ng-controller="test"> 19 <input type="button" ng-click="a.push(5)" value="按钮"/> 20 <div>{{a}}</div> 21 </div> 22 </body> 23 </html>
利用$watch特性可以做一些jsonp跨域的功能:
1 <!DOCTYPE html> 2 <html ng-app="atr"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script src="angular.min.js"></script> 7 <script> 8 var app=angular.module(‘atr‘,[]); 9 app.controller(‘test‘,function($scope,$http){ 10 $scope.keyup=function(){//按下键盘时添加事件 11 $http.jsonp(‘https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=‘+$scope.inp+‘&cb=JSON_CALLBACK‘)//百度搜索接口 12 .success(function(data){//返回一段数组,可以用console.log打印到后台取出 13 $scope.a=data.s; 14 }).error(function(s){ 15 alert(s) 16 }) 17 } 18 }) 19 </script> 20 </head> 21 <body ng-controller="test"> 22 <input type="text" ng-model="inp" ng-keyup="keyup()"/> 23 <ul> 24 <li ng-repeat="value in a">{{value}}</li>//打印到页面 25 </ul> 26 </body> 27 </html>
angular是当前最流行的数据交互插件。能实现很多功能。
$watch叫做数据脏检查,用来检测angular数值变化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。