11

私の計画は、フォームの値を ngrx ストアに保存して、ユーザーがサイト内を移動し、必要に応じてフォームに戻ることができるようにすることです。アイデアは、フォームの値がオブザーバブルを使用してストアから再入力されるというものです。

これが私が現在行っている方法です:

constructor(private store: Store<AppState>, private fb: FormBuilder) {
    this.images = images;
    this.recipe$ = store.select(recipeBuilderSelector);
    this.recipe$.subscribe(recipe => this.recipe = recipe); // console.log() => undefined
    this.recipeForm = fb.group({
      foodName: [this.recipe.name], // also tried with an OR: ( this.recipe.name || '')
      description: [this.recipe.description]
    })
  }

ストアには、セレクター関数を適切に通過するのを見た初期値が与えられますが、フォームが作成されるまでに、その値が返されたとは思いません。したがってthis.recipe、まだ定義されていません。

これは間違ったアプローチですか、それともフォームを作成する前にオブザーバブルが返されるようにすることはできますか?

4

2 に答える 2