NGXS <-> Angular:2向绑定

时间:2018-10-30 13:52:37

标签: angular typescript store ngxs

我想同步2个由ngxs-form-plugin填充的表单域。

如果我更改输入字段#1,存储将被同步,但输入字段#2仍具有旧值。 输入字段2也会发生同样的情况

是否存在使用Reactive-Forms保持同步的ngxs方式?

代码示例:Stackblitz.com

1 个答案:

答案 0 :(得分:0)

这里的问题与ngx无关,而仅是反应形式,当您将多个组件绑定到同一个FormControl时,当组件值更改时,反应形式将负责更改模型值,而不会更改模型值。其他组件值。

要处理这种情况,发现的唯一方法是侦听表单值的更改,并设置相同的值以确保不调度事件以避免无限循环。

在共享示例中,您可以将其添加到AppComponent constructor中:

constructor(private fb: FormBuilder, private store: Store) {
    this.nameForm.valueChanges
     .subscribe(_ =>
      this.nameForm.setValue(_, { emitEvent: false}));
}