typedFieldComponentPipe — 组件 + field 双强类型
@piying/view-angular 专用。在 typedFieldPipe 的基础上多传一个「组件」,让 inputs / outputs 的 key 和值类型也跟着组件走。
通用版见 typedFieldPipe。
Angular 是唯一开放
models的框架 —— Angular 的model()是真正的双向信号通道,其他适配包都摘掉了d.models。
- schema
- 组件配置:
fieldGlobalConfig本身,或typedComponent({ types: { ... } })的返回值 - 回调:返回
[路径, 组件, actions[]]组成的数组
比通用版多一个「组件」参数。组件可以传 types 里的 key,也可以直接传组件类。
一个新的 schema,每条 entry 自动带上 setComponent(组件),保证「校验用的类型」就是「真正渲染的组件」。必须使用返回值,原 schema 不会被修改。
outputChange 监听的 output 名同样锁定在本条 entry 的组件上。
路径写法与可用的 Action 工厂命名空间与通用版完全一致,见 typedFieldPipe。
- 必须使用返回值,原 schema 不被修改。
- action 工厂的调用要写在本次的 actions 数组里,提前存到变量会丢类型上下文。
- 同一路径写多条 entry、同一工厂调多次,都会叠加生效;字段声明顺序不受影响。
- 组件推不出来时不会封死:
inputs/outputs退化成普通 key / value 对象,其余功能照常,只是不再校验 key。 - 回调里的
field是只读的:读值、读状态、field.get()查其他字段都可以,改配置靠返回的 Action 下发。
- typedFieldPipe — 通用版(框架无关)
- 工具函数 —
typedComponent/nfcComponent - Action 速查表 — 命名空间与动词全览