【发布时间】:2018-10-08 19:13:14
【问题描述】:
我有一个角度应用程序,它使用 ngx-formly(动态表单)和一个正式类型(选择),其中我有一个 subscribe()。在组件中,formly 表单使用 Observable 为 formly 类型定义并动态创建。
在组件中我有一个Subject 和按钮,产生一个next(),formly 类型不接收数据(也没有接收完整)。
组件本身中的 subscribe() 有效。
从Subject 更改为BehaviorSubject<number>() 我收到了formly 类型的一次性数据,但next() 上没有更多数据。
该代码用于步进器/向导,更改为下一步,此步骤中的所有选择都应重新加载它们的选项。
可以在此处找到 100% 有效的 stackblitz 示例:https://stackblitz.com/edit/angular-9ts63k?file=src%2Fapp%2Fapp.component.ts
我对 rxjs 有很好的了解(使用 rxjs 和 ngx-store 两年;我到目前为止是专家),但是我完全被困住了,所以任何想法为什么 rxjs 与 stackblitz 中的设置相同欢迎示例在我的应用程序中不起作用。
- “@angular/core”:“^6.1.9”
- “rxjs”:“^6.3.3”
- 没有 rxjs-compat
【问题讨论】:
-
one time data in the formly type是什么意思?在演示中,当我点击next X时,它会在控制台中显示一些输出。 -
我无法重现您描述的行为。如果我用
this.stepSelectedXXX$替换所有出现的this.stepSelected$,它会产生与以前相同的行为。 -
stackblitz 示例 100% 有效,我的应用程序中的相同设置不起作用,但找不到原因,因此欢迎提出任何想法。
-
它到底在哪里不起作用?您应该能够使用控制台日志来找出答案。 StackBlitz 很好,一旦切换到
BehaviorSubject。也许将 stackBlitz 复制粘贴回您的应用程序。
标签: angular rxjs angular-formly subject