在角V16中引入了一种称为“信号”的新原始类型。它旨在存储类似于常规变量的值。当信号的价值变化时,它会通知感兴趣的消费者。信号存储原始数据类型和对象。
如果我们在组件中使用OnPush
更改检测,并且在其模板中包含一个信号,则Angular将信号跟踪作为组件的依赖性,并标记组件以检查信号值是否更改。在Angular V17中,这将要改变,可以使用基于信号的每个组件更改检测,而无需zone.js
。
在本文中,我共享您要掌握角信号所需的所有资源。
ð°Angular & signals. Everything you need to know
为什么我们需要信号? Robin Goetz解释了他们解决了哪些问题,如何适应角度的故事以及如何工作。他还详细阐述了他们最大的优势在RXJS的BehaviorSubject
上是什么:
- 信号无故障执行,
- 与RXJ相比,角信号更简单,因此更容易学习。
ð°Converting Observables to Signals in Angular: What You Need to Know和Converting Signals to Observables in Angular: What You Need to Know
在他的文章中,Netanel Basal检查了如何使用新的rxjs-interop
软件包将可观察到的信号和信号转换为可观察的信号。
ð°Angular Signals & Your Architecture: 5 Options
Manfred Steyer探索了信号对角应用体系结构的影响。他展示了五个不同的选择:
- 组件中的信号
- 将信号移至服务
- 信息隐藏的信息
- 使用商店和Redux模式
- 将商店隐藏在立面后面
ð°官方角文档和RFCS
我相信,在查看Angular社区产生的很棒的资源之后,看一下官方材料也很有用:
rfcs:
- RFC: Angular Signals
- Sub-RFC 1: Signals for Angular Reactivity
- Sub-RFC 2: Signal APIs
- Sub-RFC 3: Signal-based Components
- Sub-RFC 4: Observable and Signal Interoperability
ð°Demystifying the push & pull nature of Angular Signals
Tomas Trajan深入了解角信号,以及如何使用推动和拉动概念来理解它。
ð°Signals in Angular: The Future of Change Detection
Manfred Steyer将当前基于Zone.js-
的变更检测与基于新信号的方法进行了比较。
ð·Getting started with Angular Signals
在他们在Google I/O的演讲中,Emma Twersky和Alex Rickabaugh开发了基于信号的角度应用。虽然这是一个非常复杂的例子,但您会从中学到很多。
ð°Signals in Angular – How to Write More Reactive Code
Deborah Kurata解释了什么是信号,以及如何创建,读取和更新它们。她还涵盖了计算的信号和效果的概念。
关于作者
我的名字叫Gergely Szerovay,我是前端开发章节的负责人。教学(和学习)角是我的激情之一。我每天消耗与Angular有关的内容 - 文章,播客,会议演讲,您将其命名。
我创建了Angular Addict新闻通讯,以便可以向您发送每个月遇到的最佳资源。无论您是经验丰富的角度瘾君子还是初学者,我都会覆盖您。
在新闻通讯旁边,我也有一本名为“ Angular Addicts”的出版物。这是我发现最有用和有趣的资源的集合。让我知道您是否想被包括为作家。
让我们一起学习角度! Subscribe hereð¥