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


相关推荐: 历史网站制作软件,华为如何找回被删除的网站?  如何快速搭建高效WAP手机网站?  网站制作软件有哪些,制图软件有哪些?  如何在云主机上快速搭建多站点网站?  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  iOS发送验证码倒计时应用  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  如何用VPS主机快速搭建个人网站?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  黑客入侵网站服务器的常见手法有哪些?  如何在阿里云域名上完成建站全流程?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  如何在 React 中条件性地遍历数组并渲染元素  Laravel怎么使用artisan命令缓存配置和视图  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel如何使用Collections进行数据处理?(实用方法示例)  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  详解MySQL数据库的安装与密码配置  iOS正则表达式验证手机号、邮箱、身份证号等  如何快速上传建站程序避免常见错误?  如何在阿里云部署织梦网站?  简历没回改:利用AI润色让你的文字更专业  IOS倒计时设置UIButton标题title的抖动问题  如何用免费手机建站系统零基础打造专业网站?  Laravel如何实现API版本控制_Laravel版本化API设计方案  教你用AI将一段旋律扩展成一首完整的曲子  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  如何构建满足综合性能需求的优质建站方案?  网站建设整体流程解析,建站其实很容易!  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  网站制作大概多少钱一个,做一个平台网站大概多少钱?  利用vue写todolist单页应用  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  如何在VPS电脑上快速搭建网站?  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  如何在Tomcat中配置并部署网站项目?  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  iOS中将个别页面强制横屏其他页面竖屏  Laravel如何配置和使用缓存?(Redis代码示例)  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  Android滚轮选择时间控件使用详解  黑客如何利用漏洞与弱口令入侵网站服务器?  Laravel如何处理文件下载请求?(Response示例)