当前位置:   article > 正文

Angular 事件监听$scope.$watch

$scope.$watch
监听服务$watch
	1、不需要在控制器脚本中注入,直接使用
	2、监听任何想要监听的NG变量的值,并在这个值改变的时候调用回调函数

	语法:$scope.$watch('想要监听的NG变量(不需要加$scope.)或字符串',回调函数)
	3、开启深度监视,如监视数组内容的添加等,不开启深度监视不会调用回调函数
			$scope.$watch('想要监听的NG变量(不需要加$scope.)或字符串',回调函数,true)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

代码示例:

<html ng-app='app' ng-controller='main' >
<head>
	<meta charset="utf-8">
	<meta name='viewport' content='width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0'>
	<title ng-bind='mainTitle'></title>

	<script src='js/angular.js'></script>
	<script src='js/angular.route.min.js'></script>	
	<style>

	</style>
</head>
<body >

<input type="text" ng-model='in'>

<div ng-controller='d1'>
	<input type="text" >
	<button ng-click='check()'>点击</button>
	<p>{{arr}}</p>
</div>

<script>
	var app=new angular.module('app',[]);


	app.controller('main',['$scope',function($scope){
			$scope.in='';
			$scope.$watch('in',function(){console.log('他变了')});

	}])
	//深度监视
	app.controller('d1',['$scope',function($scope){
	
	$scope.arr=[1,2,3];
	$scope.$watch('arr',function(){
		console.log('变了')
	},true)

	$scope.check=function()
	{
		this.arr.push(1);
	}

}])
</script>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/222912
推荐阅读
相关标签
  

闽ICP备14008679号