Angular中使用$watch监听object属性值的变化(详解)
发布时间 - 2026-01-11 00:47:37 点击率:次Angular中的$watch可以监听属性值的变化,然后并做出相应处理。

常见用法:
$scope.$watch("person", function(n, o){
//todo something...
})
但是对于一个对象中的某个属性值变化时,$watch似乎不管用了。
示例代码:
<body>
<div ng-controller="mainCtrl">
<input id="myText" type="text" ng-model="person.name"/>
<h2>{{person}}</h2>
<h2>Status: {{status}}</h2>
</div>
<script>
angular.module('myApp', [])
.controller('mainCtrl', function ($scope) {
$scope.person = {
name:"allen",
age:21
}
$scope.$watch("person", function(n, o){
//取消第一次加载时的监听响应
if(n == o){
return;
}
$scope.status = "changed"
})
})
</script>
</body>
我们为输入框绑定了person对象的name属性,然而当我们改变输入框的值时候,{{person}}确实改变了,然而并没有出现我们想要的change字符。
效果:
我们需要为$watch方法额外添加一个true参数,使之达到我们想要的效果:
$scope.$watch("person", function(n, o){
if(n == o){
return;
}
$scope.status = "changed";
},true)
$watch方法完整的使用方式是这样的:
$watch(watchExpression, [listener], [objectEquality]);
第一个是监听的参数名称,剩下两个可选参数分别为处理函数和是相等比较的方式,对于后者文档如是说:Compare for object equality using angular.equals instead of comparing for reference equality. 即是否使用angular.equals方法进行比较。
如此效果变为:
以上这篇Angular中使用$watch监听object属性值的变化(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# watch监听object的值
# angular 实时监听input框value值的变化触发函数方法
# angular5 子组件监听父组件传入值的变化方法
# 在Angular中如何监听某个值的变化
# 给大家
# 输入框
# 第一个
# 是这样
# 用了
# 希望能
# 分别为
# 可选
# 当我们
# 如是说
# 这篇
# 使之
# 定了
# 小编
# 大家多多
# 象中
# 加载
# 文档
# 改变了
# nbsp
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何实现事件和监听器?(Event & Listener实战)
Python面向对象测试方法_mock解析【教程】
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
如何撰写建站申请书?关键要点有哪些?
如何基于云服务器快速搭建个人网站?
音乐网站服务器如何优化API响应速度?
米侠浏览器网页背景异常怎么办 米侠显示修复
JS去除重复并统计数量的实现方法
Android GridView 滑动条设置一直显示状态(推荐)
什么是javascript作用域_全局和局部作用域有什么区别?
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
公司门户网站制作流程,华为官网怎么做?
个人摄影网站制作流程,摄影爱好者都去什么网站?
教你用AI润色文章,让你的文字表达更专业
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
如何快速搭建二级域名独立网站?
香港服务器部署网站为何提示未备案?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
如何实现建站之星域名转发设置?
JavaScript实现Fly Bird小游戏
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
潮流网站制作头像软件下载,适合母子的网名有哪些?
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
在centOS 7安装mysql 5.7的详细教程
高端建站三要素:定制模板、企业官网与响应式设计优化
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
如何在建站之星绑定自定义域名?
Android仿QQ列表左滑删除操作
详解MySQL数据库的安装与密码配置
太平洋网站制作公司,网络用语太平洋是什么意思?
如何用VPS主机快速搭建个人网站?
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
如何在腾讯云免费申请建站?
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
如何选择PHP开源工具快速搭建网站?
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
魔方云NAT建站如何实现端口转发?
Android实现代码画虚线边框背景效果
JavaScript中的标签模板是什么_它如何扩展字符串功能
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
Swift中switch语句区间和元组模式匹配

