angular中$watch监视使用

$watch函数在AngularJS中用于监视模型数据变化,可监听单个或多个变量,对象属性,甚至数组数据。本文详细介绍了$watch的不同用法,包括如何监听普通变量,对象的特定属性,以及对象所有属性的改变。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

$watch()函数,用于监视模型数据的变化。

简单使用

$watch(参数1,参数2,参数3)

  • 参数1:监视的对象
  • 参数2:监视数据改变执行的函数
  • 参数3:[可选],布尔值-默认为fasle:不监视对象深沉属性,true:监视对象深层属性。
  1. 监听单个普通变量
$scope.$watch("name", function() {
name属性发生变化执行的函数代码
})
  1. 监听多个变量
$scope.$watch("name + age", function() {
name或者age变量的数据发生变化执行的函数代码
})

3、监听对象的数据

$scope.$watch("users.username", function() {
usres对象中的username属性一旦发生变化执行的函数代码
})

4、监视对象的所有属性

$scope.$watch("users", function() {
usres对象中的任意一属性值,发生变化执行的函数代码
},true)

5、监听数组数据而不监听数组中的对象数据

$scope.$watchCollection("user",function(){

user数组中的地址、数据删除、增加发生变化执行的函数代码
})
  1. 监听数据发生变化的细节:修改后VS 修改前
$scope.$watch("username",function(newValue, oldValue) {
console.log("数据被修改了", newValue, oldValue);
})
  1. $watch可以重复,不会被覆盖,都会执行!
$scope.$watch("username", function(newValue, oldValue) {
console.log("data changed:", newValue, oldValue);
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值