SuperAPI AI 工具集

angular-expert

编程与开发

查看项目

更新于 10-31 13:16

技能介绍

用途

Angular Expert 是一个针对 Angular 17+ 的技能,主要解决 Angular 开发中的常见陷阱(gotchas)和决策标准(decision criteria)。它特别指出 Claude 在 Angular 相关任务中容易出错的地方,帮助开发者或 AI 助手在编写 Angular 代码时做出更正确的选择。

主要能力

该技能围绕四组关键决策和若干具体陷阱展开。

关键决策

  1. Signals vs Observables:同步 UI 状态使用 Signals;异步流或 HTTP 使用 Observables;两者之间通过 toSignal() / toObservable() 进行桥接。
  2. NgRx vs Signals:复杂共享状态且带副作用时使用 NgRx;组件级或简单应用状态使用 Signals。
  3. Standalone vs Module:Angular 17+ 中始终使用 Standalone;Module 仅用于遗留代码。
  4. OnPush vs Default:始终使用 OnPush,但需要配合不可变模式(immutable patterns)。

常见陷阱

  • @for 必须提供 track,应使用 track item.id 而非 trackBy 函数。
  • takeUntilDestroyed(this.destroyRef) 必须在注入上下文(injection context)中调用,即构造函数或字段初始化时。
  • toSignal() 返回 Signal<T | undefined>,需要处理 undefined 情况。
  • 类型化表单应使用 NonNullableFormBuilder,普通 FormBuilder 会丢失类型。
  • @defer (on viewport) 需要 @placeholder 块,否则不会渲染任何内容。
  • 函数式守卫(functional guards)和拦截器(interceptors)应使用 inject() 而非构造函数依赖注入。

使用方式

该技能以文本形式提供 Angular 17+ 的决策指南和陷阱列表。资料中提到“Use Context7 for full Angular docs”,即完整 Angular 文档可参考 Context7。技能本身不包含安装命令或代码示例,仅以结构化文本列出决策和注意事项。

适用场景

适用于使用 Angular 17+ 进行开发的场景,尤其是需要决定状态管理方案、变更检测策略、组件组织方式时。也适用于希望避免 Angular 常见错误的 AI 辅助编程场景。

限制

资料未提供该技能的具体安装方式、收费模式、平台支持或效果保证。技能内容仅覆盖 Angular 17+ 的部分决策和陷阱,并非完整 Angular 文档。