SuperAPI AI 工具集

angular-signals

前端与建站

查看项目

更新于 10-16 03:37

技能介绍

用途:在 Angular v20+ 中用 Signal 实现同步、细粒度的响应式状态管理。

主要能力:signal() 创建可写状态,支持 set、update 与显式类型;computed() 创建随依赖自动更新的派生状态;linkedSignal() 在来源变化时重置或保留选择;effect() 处理副作用,需在注入上下文中运行并在组件销毁时自动清理;提供组件状态与服务状态模式。

RxJS 互操作:toSignal() 将 Observable 转为 Signal,可用 initialValue、allowUndefined 或 requireSync;toObservable() 将 Signal 转为 Observable 以使用 debounceTime、switchMap 等操作符。还支持自定义 equal 比较函数与 untracked() 排除依赖。

必要用法:从 @angular/core 导入 signal、computed、linkedSignal、effect、untracked;从 @angular/core/rxjs-interop 导入 toSignal、toObservable。模板中使用信号函数取值,@for 迭代派生的 filteredTodos()。

适用场景:组件本地状态、服务共享状态、搜索与异步数据加载、列表过滤与统计。

限制:effect() 必须在注入上下文中调用;toSignal() 对异步源默认返回 undefined,除非提供 initialValue 或 requireSync;更多高级模式如 resource() 见参考文件。文档未提供收费、价格或性能数据。