angular中$watch监视使用

$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);
})

猜你喜欢

转载自blog.csdn.net/ouzhuangzhuang/article/details/82894773