@formancy/angular

中文文档
0.13.0发布于 2026/11/06Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 3921

Idiomatic Angular binding for the formancy form engine: signals over the same snapshot protocol.

原始使用文档

@formancy/angular

The Angular binding for formancy: signals over the engine's snapshot protocol, standalone components, and no zone.js.

Requires Angular 22. Built with ng-packagr to the Angular Package Format.

The load-bearing decision

injectField creates one signal per field and writes to it exactly when the engine says that field changed. There is no zone.js, no ChangeDetectorRef and no whole-form re-render: identity-stable snapshots mean an OnPush component sees a real reference change precisely when something it shows is different. An engine mutation from outside Angular — a server prefill, devtools — reaches the DOM through the same path.

The second is that this is not a translation of the React renderer but the same engine bound idiomatically. Where Angular demands a different shape — a DI registry instead of props, an injection token for the field context — the shape differs and the observable behaviour does not. The shared conformance suite is what proves that rather than the claim.

Use

bootstrapApplication(AppComponent, {
  providers: [provideZonelessChangeDetection(), provideFormancy(engine)],
})
@Component({ imports: [FormancyForm], template: `<formancy-form />` })
export class AppComponent {}

Or bind a field yourself:

readonly field = injectField('email')
// field.snapshot() — value, errors, ids, ARIA props
// field.setValue(v), field.touch()

Also exported: injectRepeater, injectWizard, injectSubmit, FORMANCY_REGISTRY for replacing field components, and an ErrorSummary with the focus semantics WCAG expects.

Docs: apps/docs (Quickstart: Angular).

版本与发布记录

@formancy/angular 共发布 13 个版本,首次发布于 2026/09/21;过去 12 个月发布了 13 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.13.0latest2026/11/0610 天前
0.12.02026/11/0115 天前
0.11.02026/10/3016 天前
0.10.02026/10/3017 天前
0.9.02026/10/3017 天前
0.8.02026/10/2918 天前

关于 @formancy/angular 的常见问题

@formancy/angular 是什么?

Idiomatic Angular binding for the formancy form engine: signals over the same snapshot protocol.

如何安装 @formancy/angular?

在项目目录运行 npm install @formancy/angular,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@angular/core(^22.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@formancy/angular 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@formancy/angular 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@formancy/angular 可以商用吗?

@formancy/angular 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@formancy/angular 的下载量有多少?

根据 npm 官方下载统计,@formancy/angular 在 2026/10/16 – 2026/11/14 这 30 天内被下载 3,921 次,日均约 131 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@formancy/angular 还在维护吗?

最新版本 0.13.0 发布于 2026/11/06(10 天前);至今共发布 13 个版本,其中过去 12 个月发布了 13 个;首次发布于 2026/09/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。