关于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


相关推荐: 详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  历史网站制作软件,华为如何找回被删除的网站?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  如何在橙子建站上传落地页?操作指南详解  如何在云指建站中生成FTP站点?  电商网站制作价格怎么算,网上拍卖流程以及规则?  实例解析Array和String方法  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  进行网站优化必须要坚持的四大原则  如何快速上传建站程序避免常见错误?  百度浏览器如何管理插件 百度浏览器插件管理方法  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  济南网站建设制作公司,室内设计网站一般都有哪些功能?  北京的网站制作公司有哪些,哪个视频网站最好?  浅谈Javascript中的Label语句  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  轻松掌握MySQL函数中的last_insert_id()  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  Linux系统运维自动化项目教程_Ansible批量管理实战  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  bootstrap日历插件datetimepicker使用方法  智能起名网站制作软件有哪些,制作logo的软件?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  移动端脚本框架Hammer.js  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  如何用PHP工具快速搭建高效网站?  实例解析angularjs的filter过滤器  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  香港服务器租用每月最低只需15元?  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  Laravel如何与Pusher实现实时通信?(WebSocket示例)  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  如何用PHP快速搭建高效网站?分步指南  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何在服务器上三步完成建站并提升流量?  利用JavaScript实现拖拽改变元素大小  简单实现jsp分页  如何正确下载安装西数主机建站助手?  如何安全更换建站之星模板并保留数据?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  如何快速搭建虚拟主机网站?新手必看指南  如何用好域名打造高点击率的自主建站?  Laravel怎么上传文件_Laravel图片上传及存储配置