SuperAPI AI 工具集

angular-signals

前端与建站

查看项目

更新于 10-15 23:46

技能介绍

用途:在 Angular v20+ 中使用 Signals 实现基于信号的响应式状态管理。

主要能力:signal() 创建可写状态,支持读取、set()、update() 和显式类型;computed() 定义派生状态,依赖变化时自动更新;linkedSignal() 处理依赖前值并自动重置的状态;effect() 执行副作用,需在注入上下文中运行,组件销毁时自动清理,并支持 onCleanup 清理回调。还包含信号相等性(equal)、untracked() 非跟踪读取、toSignal()/toObservable() 的 RxJS 互操作(可配合 debounceTime、switchMap 等操作符),以及服务中通过 asReadonly() 暴露只读状态、computed 派生 isAuthenticated 等模式。

使用方式:以组件和服务状态模式为例,组合 signal、computed、effect、linkedSignal,通过模板绑定读取信号值,用 set/update 修改状态。

适用场景:Angular 应用中的本地组件状态、派生的过滤与统计值、异步数据流转换及可复用服务状态。

限制:资料未提供安装命令、依赖版本之外的框架要求、收费方式或平台信息。effect 需在注入上下文(构造函数或 runInInjectionContext)中运行。高级模式如 resource() 需参见 references/signal-patterns.md。