Javascript <;输入/>;在角度2中,通过可观测

Javascript <;输入/>;在角度2中,通过可观测,javascript,angular,rxjs5,Javascript,Angular,Rxjs5,我试图使用@ngrx/store跟踪表单中的值。其中一个输入只能有数字。当我输入数据时,Redux状态仅正确地存储数字,但更新的值没有反映在输入字段中,它仍然显示未清理的值 编辑:此问题并非特定于ngrx/存储。从任何可观测数据填充输入字段的值会导致此问题。尝试将@Injectable类中的数据存储在行为主题中并公开.asObservable(),但遇到了相同的问题 e、 g.) “123abc”的输入值 Redux存储“123”(正确) 输入字段仍显示“123abc”(不正确,与Redux状态

我试图使用
@ngrx/store
跟踪表单中的值。其中一个输入只能有数字。当我输入数据时,Redux状态仅正确地存储数字,但更新的值没有反映在输入字段中,它仍然显示未清理的值

编辑:此问题并非特定于ngrx/存储。从任何可观测数据填充输入字段的值会导致此问题。尝试将@Injectable类中的数据存储在行为主题中并公开
.asObservable()
,但遇到了相同的问题

e、 g.)

“123abc”的输入值

Redux存储“123”(正确)

输入字段仍显示“123abc”(不正确,与Redux状态不匹配)

编辑:如果我们使用
123abc
的示例输入,然后键入数字
4
,我们可以直观地看到输入值更新为
1234
,与Redux存储相同

导出类InputComponent{
私人价值:可观察;
构造函数(私有存储:存储){
this.value=store
.map(appState=>appState.form.value)
.distinctUntilChanged();
}
public onChange(值:字符串):void{
常量sanitizedValue:字符串=
值。替换(/\D/g');
this.store.dispatch(updateValue(sanitizedValue));
}
}

形式值