$scope $rootScope $watch 和 $state

Angular $scope和$rootScope事件机制之$emit、$broadcast和$on Angular按照发布/订阅模式设计了其事件系统,使用时需要“发布”事件,并在适当的位置“订阅”或“退订”事件,就像邮箱里面大量的订阅邮件一样,当我们不需要时就可以将其退订了。具体到开发中,对应着$scope和$rootScope的$emit、$broadcast和$on方法。本文介绍Angular的事件机制, 阅读详情

这里是修真院前端小课堂,每篇分享文从

八个方面深度解析前端知识/技能,本篇分享的是:

【$scope $rootScope $watch 和 $state】

1.背景介绍
在平时的编码中,我们总会想着有什么方法能够简化我们的工作流程,让我们只专心于业务逻辑和数据的处理,而angularjs就为我们程序员实现了这一点。$scope $rootScope $watch 和 $state就是里面的几个方法,今天着重跟大家讨论一下这几个方法

2.知识剖析
$scope
$scope在angularjs中,你可以把它理解成作用域,每个不同的controller,都具有它不同的作用域,所以controller不同,他们的scope是不同的,那么,如果我们想象js那样,做一个全局变量该怎么办呢?这就要说到rootScope了。

$rootScope
$rootScope是由angularJS加载模块的时候自动创建的,每个模块只会有1个rootScope;

$rootScope就相当于一个全局作用域,所以我们保存在其中的东西是全局性的,在任一controller之中都能够使用scope是html和单个controller之间的桥梁,数据绑定就靠他了。rootscope是各个controller中scope的桥梁。用rootscope定义的值,可以在各个controller中使用。

w a t c h 相 信 使 用 过 a n g u l a r j s 的 同 学 都 知 道 , n g 中 有 个 比 较 重 要 的 特 点 , 叫 做 双 向 绑 定 , 那 么 这 个 双 向 绑 定 是 如 何 实 现 的 呢 ? 当 我 们 在 创 建 出 s c o p e 下 的 一 个 新 属 性 的 时 候 , n g 就 会 主 动 为 我 们 新 属 性 加 上 watch 相信使用过angularjs的同学都知道,ng中有个比较重要的特点,叫做双向绑定,那么这个双向绑定是如何实现的呢?当我们在创建出scope下的一个新属性的时候,ng就会主动为我们新属性加上 watch相信使用过angularjs的同学都知道,ng中有个比较重要的特点,叫做双向绑定,那么这个双向绑定是如何实现的呢?当我们在创建出scope下的一个新属性的时候,ng就会主动为我们新属性加上watch这个方法,这个方法会监听我们的数据变化,当数据变化之后,就立即把view和scope上数据同步。虽然angular会为每一个ng-model添加一个

watch事件,但我们还可以定义己watch事件,但我们还可以定义自己的watch事件,但我们还可以定义自己的watch事件,但我们还可以定义自己的watch,所以需要了解一下$watch的用法;

$watch(watchExpression, listener, objectEquality);

watchExpression:监听的对象,它可以是一个angular表达式如’name’,或函数如function();注意如果是函数的话,需要加上()不能只写函数名;

listener:当watchExpression变化时会被调用的函数或者表达式,它接收3个参数:newValue(新值), oldValue(旧值), scope(作用域的引用)

objectEquality,是否深度监听,如果设置为true,它告诉Angular检查所监控的对象中每一个属性的变化. 如果你希望监控数组的个别元素或者对象的属性而不是一个普通的值, 那么你应该使用它

$state
$state是路由中的一项服务,简单来说就是给路由一个对应的状态,让其根据不同的状态加载不同的页面;

3.常见问题
如何通过$rootscope传参

4.解决方案

var myApp = angular.module(‘myApp’, []);
myApp.controller(“mycontroller”, [‘ s c o p e ′ , ′ scope', ' scope′,′rootScope’, function($scope, $rootScope) {
$rootScope.arr = ‘this a book’

}])
myApp.controller(“mycontroller1”, [‘ s c o p e ′ , ′ scope', ' scope′,′rootScope’, function($scope, $rootScope) {
$scope.arr = $rootScope.arr;
}])
5.编码实战
demo1

6.扩展思考
怎么取消$watch,为什么取消?

$watch的性能消耗较大,所以对于已经不需要监视的watch,记得定时取消掉。

7.参考文献

http://yuankeqiang.lofter.com/post/8de51_1454f93


https://blog.youkuaiyun.com/u010451286/article/details/50635839

12
8.更多讨论

Q1: s c o p e 和 scope和 scope和rootscope的优先级谁高

A1: s c o p e 的 优 先 级 高 , 系 统 会 先 查 找 scope的优先级高,系统会先查找 scope的优先级高,系统会先查找scope内的,如果能找到相应的值,就不会再往上查找!

Q2:$rootscope定义多个,会被覆盖吗?

A2:会被后面一个覆盖掉,不要随便定义

Q3:$state的使用方法?

A3:

看下面,简单来说就是在HTML里面加上href的路径。然后有一个ng-view用来展示信息的地方。

最后一个是具体的路由当,不同的状态时,显示不同的值。

  • 电脑
  • 打印机
  • .when(’/computers’,{template:‘这是电脑分类页面’}) .when(’/printers’,{template:‘这是打印机页面’})

$state、$watch、$scope、$rootScope分别是什么? 这里是修真院前端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能,本篇分享的是: 【$state、$watch、$scope、$rootScope分别是什么?】 angular之中,$state$watch$scope$rootScope分别是什么? ... 阅读详情

相关推荐

Emotion-LLaMA实战指南:从零构建多模态情感识别系统(附Python代码)

本文提供了Emotion-LLaMA多模态情感识别系统的实战指南。通过详细的步骤,指导读者从零搭建开发环境、运行本地Demo、理解模型架构,并完成数据处理与模型训练。该创新模型融合视觉、听觉与文本信息,实现更精准、接近人类理解的情感分析与推理,并附有完整的Python代码实现。

weixin_29094775的博客 415

angular , $state、$watch、$scope、$rootScope分别是什么?

在平时的编码中,我们总会想着有什么方法能够简化我们的工作流程,让我们只专心于业务逻辑和数据的处理,而angularjs就为我们程序员实现了这一点。AngularJS有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。下面,我们将要讨论的就是angularJS里面的$scope$rootScope$watch和$state。

IT枫斗者的博客 662

大象机器人myAGV移动机器人+mechArm六轴机械臂,开源复合机器人开发与实践!

我们这章节的内容是将协作性机械臂打破距离上的限制,跟移动机器人(myAGV)相连接,实现一个案例。

m0_71627844的博客 1487

理解vue中$watch使用

侦听组件实例上的响应式 property 或函数计算结果的变化。回调函数得到的参数为新值和旧值。我们只能将顶层的 data、prop 或 computed property 名作为字符串传递。对于更复杂的表达式,用一个函数取代。 假设 data 定义的数据如下: data() { return { a: 1, b: 2, c: { d: 3, e: 4 } } }, 单个的顶层属性,第一个参数是字符串,第二个参数是函数。 created()

前端精髓 2万+

数据分析项目:直播电商用户流失分析

其中,'Tenure'(在网时长)可能是影响用户流失的关键因素,意味着用户在平台上的停留时间越长,流失的可能性可能越低,这提示平台应注重提高用户粘性,增加用户在平台上的活跃度和停留时间。)的分析,挖掘用户流失的原因和模式,分析发现用户投诉处理效率(Complain)、距上次消费时长(DaySinceLastOrder)、会员生命周期(Tenure)等8项核心指标对流失预测贡献度达87%,模型准确率94.58%,并提出相应的建议。重视用户的满意度,及时处理用户的投诉和反馈,不断改进平台的服务和功能。

Nervousr的博客 2459

HDRP shader 获取阴影(Custom Pass)

Unity:2021.3.0f1 HDRP:12.1.6

LanQ的博客 2097

$scope $watch $state 是什么?

1、AngularJS Scope(作用域) Scope(作用域)是应用在 HTML (视图)和 JavaScript (控制器)之间的纽带。Scope是一个对象,有可用的方法和属性。Scope可应用在视图和控制器上。$scope的使用贯穿整个 Angular App应用,它与数据模型相关联,同时也是表达式执行的上下文.有了 $scope就在视图和控制器之间建立了一个通道,基于作用域视图在修改数...

刘泽华的博客 894

欧姆龙PLC与fanuc发那科机器人进行Ethrenet ip通信测试

近期在做发那科FANUC的通讯,会吧CC-LINK、Profibus-DP、Profinet I/O、DeviceNet、EtherNet/IP这些常用通讯做成文档发上来,大家喜欢的话可以关注 注:做对应的通讯,在机器人控制柜都需要安装对应的板卡以及软件功能 截图中的程序设置和机器人EDS插件在下面链接 https://download.youkuaiyun.com/download/gojava/13770799 PLC为主站 机器人为从站 一、硬件部分 欧姆龙PLC ...

七兔自习室 1万+

关于AngularJS学习整理---浅谈$scope(作用域) 新手必备!

  作为初次接触 AngularJS的新手,想要深层理解里面的内容短时间还是不可能的,所以标题写了浅谈字样,以下内容是参考各位大神以及相关书籍整理加个人理解,出现错误的地方请大家指正。   $scope(作用域),为AngularJS中MVC的核心,整理起来很麻烦, 看着大神们发的一些文章对于$scope的理解,有些方面还是看不懂,作为新手,应该站在新手的位置上去思考,所以这篇文章的目的,...

weixin_33916256的博客 910

实战解析:如何利用MDFEND与Weibo21数据集构建多领域假新闻检测系统

本文实战解析了如何利用MDFEND模型与Weibo21数据集构建多领域假新闻检测系统。文章深入剖析了MDFEND的领域门控与专家混合机制,并提供了从数据预处理、模型理解到训练部署的完整指南,旨在解决通用模型在不同领域新闻检测中的性能衰减问题,提升检测的准确性与适应性。

vulkan6gpu的博客 580

红米k60 修复“NV损坏” 去除主板校验电阻步骤解析与图示

红米k60 基带代码:mondrian。搭载‌高通骁龙8+ Gen1处理器.国外版本称:POCO F5 Pro适用于以下型号的小米机型:23013RK75C, 23013PC75G。 💝💝💝通过博文了解 1💝💝💝-----此机型修复NV损坏硬件类操作主板图示 2💝💝💝-----了解设备出现NV损坏的底层逻辑 3💝💝💝 ------具体修改步骤

小马哥的专栏 393

ANGULAR之中的$STATE、 $WATCH、 $SCOPE、 $ROOTSCOPE 分别是什么?

这里是修真院web小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解web知识/技能,本篇分享的是: 【ANGULAR之中的$STATE、 $WATCH、 $SCOPE、 $ROOTSCOPE 分别是什么?】 1.背景介绍 在平时的编码中,我们总会想着有什么方法能够简化我们的工作流程,让我们只专心于业...

IT修真院:初学者转行到互联网的聚集地 750

【YOLOv12改进trick】高效多尺度卷积注意力EMCAD_Block模块引入YOLOv12,实现涨点和效率提升,含创新点Python代码

EMCAD引入YOLOv12模块,实现高效多尺度注意力模块引入到YOLOv12中的快速涨点及效率提升

向上生长的程序媛的博客 851

ANGULAR之中,$STATE $WATCH $SCOPE $ROOTSCOPE 分别是什么?

这里是修真院前端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能,本篇分享的是: 【ANGULAR之中,$STATE $WATCH $SCOPE $ROOTSCOPE 分别是什么?】 大家好,我是IT修真院北京分院第23期的学员郭婷婷,一枚正直纯洁善良的WEB前端程序员。 今天给大家...

IT修真院:初学者转行到互联网的聚集地 532

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

angular之中,$state $watch $scope $rootScope 分别是什么?

这里是修真院前端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能,本篇分享的是: 【angular之中,$state $watch $scope $rootScope 分别是什么? 】 1.背景介绍 在平时的编码中,我们总会想着有什么方法能够简化我们的工作流程,让我们只专心于业务逻辑...

IT修真院:初学者转行到互联网的聚集地 552

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

$scope $rootScope $watch 和 $state是什么?

1.背景介绍在平时的编码中,我们总会想着有什么方法能够简化我们的工作流程,让我们只专心于业务逻辑和数据的处理,而angularjs就为我们程序员实现了这一点。$scope $rootScope $watch 和 $state就是里面的几个方法,今天着重跟大家讨论一下这几个方法2.知识剖析$scope$scope在angularjs中,你可以把它理解成作用域,每个不同的controller,都具有它...

menggx1的博客 528

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

angular之中,$state $watch $scope $rootScope 分别是什么?

1.背景介绍 AngularJs是一个用于设计动态web应用的结构框架,使得开发现代的单一页面应用程序变得更加容易。而且能够简化我们的工作流程, 让我们只专心于业务逻辑和数据的处理。$scope $rootScope $watch 和 $state就是里面的几个方法。   2.知识剖析 1、$scope——Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制...

storyoco的博客 400

【JS-TASK7】ANGULAR之中,$STATE $WATCH $SCOPE $ROOTSCOPE 分别是什么?

1.背景介绍 在平时的编码中,我们总会想着有什么方法能够简化我们的工作流程,让我们只专心于业务逻辑和数据的处理,而angularjs就为我们程序员实现了这一点。$scope $rootScope $watch 和 $state就是里面的几个方法,今天着重跟大家讨论一下这几个方法 2.知识剖析 $scope $scope在angularjs中,你可以把它理解成作用域,每个不同的controller,...

luyu3283的博客 231
上一篇: 如何理解JS作用域与作用域链?
下一篇: angualr控制器是什么?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值