关于angular js_$watch监控属性和对象详解

发布时间 - 2026-01-11 00:47:36    点击率:

$Watch:(监听一个model,当一个model每次改变时,都会触发第二个函数)

$watch('watchFn',watchAction,deepWatch)

watchFn:带有Angular 表达式或者函数的字符串,它会返回被监控的数据模型的当前值。

watchAction: 一个函数function(newValue,oldValue){},当watchFn 发生变化时会被调用

deepWatch:默认为false,监听数组的某个元素或者对象的属性时设置为true;

监控一个属性:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8"/>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
  <form>
    <div class="form-group">
      <input ng-model="name" />{{name}}
      <p>改变次数{{count}}</p>
    </div>
  </form>
</div>
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<script type="text/javascript">
  
  var app = angular.module('myApp', []);
  app.controller('myCtrl', function ($scope){
    $scope.name = '橘子';
    $scope.count = 0;
    $scope.$watch('name', function (newValue, oldValue) {
      $scope.count++;
      if($scope.count >5){
        $scope.name = '苹果';
      }
    });
  });
</script>
</body>
</html>

监控一个对象(deepWidth为true)

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8"/>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
  <form>
    <div class="form-group">
      <input ng-model="Data.name" />{{Data.name}}
      <p>改变次数{{count}}</p>
    </div>
  </form>
</div>
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<script type="text/javascript">

  var app = angular.module('myApp', []);
  app.controller('myCtrl', function ($scope){
    $scope.Data = { name: '橘子' };
    $scope.count = 0;
    $scope.$watch('Data', function (newValue, oldValue) {
      if(newValue == oldValue)
      return;
      $scope.count++;
      if($scope.count >5){
         $scope.Data.name = '苹果';
      }
    }, true);
  });
</script>
</body>
</html>

以上这篇关于angular js_$watch监控属性和对象详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# angularjs  # watch  # 对象  # 对angular 监控数据模型变化的事件方法$watch详解  # 分享Angular http interceptors 拦截器使用(推荐)  # 详解AngularJS用Interceptors来统一处理HTTP请求和响应  # angular中的http拦截器Interceptors的实现  # Angular通过 HTTP Interceptor 实现 HTTP 请求超时监控的例子  # 给大家  # 希望能  # 第二个  # 这篇  # 设置为  # 它会  # 小编  # 大家多多  # 默认为  # 一个函数  # pre  # class  # brush  # ccffcc  # span  # true  # background  # gt  # head  # meta 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  nodejs redis 发布订阅机制封装实现方法及实例代码  如何在建站宝盒中设置产品搜索功能?  如何在IIS中新建站点并配置端口与IP地址?  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  Laravel如何实现事件和监听器?(Event & Listener实战)  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  长沙企业网站制作哪家好,长沙水业集团官方网站?  Python并发异常传播_错误处理解析【教程】  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  大连 网站制作,大连天途有线官网?  如何在云虚拟主机上快速搭建个人网站?  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  JavaScript实现Fly Bird小游戏  香港服务器租用费用高吗?如何避免常见误区?  javascript中的try catch异常捕获机制用法分析  制作电商网页,电商供应链怎么做?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  高防服务器租用如何选择配置与防御等级?  如何在IIS7上新建站点并设置安全权限?  Windows Hello人脸识别突然无法使用  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  免费网站制作appp,免费制作app哪个平台好?  浅谈Javascript中的Label语句  如何用AWS免费套餐快速搭建高效网站?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  Laravel如何实现数据库事务?(DB Facade示例)  php json中文编码为null的解决办法  如何解决hover在ie6中的兼容性问题  使用C语言编写圣诞表白程序  免费视频制作网站,更新又快又好的免费电影网站?  C++时间戳转换成日期时间的步骤和示例代码  JS碰撞运动实现方法详解  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  使用豆包 AI 辅助进行简单网页 HTML 结构设计  敲碗10年!Mac系列传将迎来「触控与联网」双革新  android nfc常用标签读取总结  Laravel如何使用Blade模板引擎?(完整语法和示例)  Swift中循环语句中的转移语句 break 和 continue  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何快速搭建高效香港服务器网站?  网站建设要注意的标准 促进网站用户好感度!  JavaScript如何实现倒计时_时间函数如何精确控制  用v-html解决Vue.js渲染中html标签不被解析的问题  JavaScript如何实现继承_有哪些常用方法