5

アプリで NgRx Store を使用しています。

Home.html

<list-objects
      [array]="array| async"
      (Edit)="Edit($event)"
      (Delete)="Delete($event)"
 ></list-objects>

ホーム.ts

export class HomePage {
     public array: Observable<itm[]>;

     constructor(){
          this.array= this.store.select(state => state.array);

          this.array.subscribe((a) => {
             console.log(a); //VALUES OK
          }
      }

      Edit(event){
          this.store.dispatch(this.actions.updateItem(event.item));
      }
  }

配列の項目を編集すると、非同期パイプはビューを更新しませんが、「配列」オブジェクトの値は正しいです (サブスクライブ内の console.log は更新された値を示します)。DOM のどこかをクリックすると (モーダルを開く、ボタンをクリックする...)、新しい値で更新が表示されます。

子コンポーネント「ngOnChanges」にもログインしましたが、新しい値で起動しません。

4

3 に答える 3

0

試す:

constructor(private changeDetector: ChangeDetectorRef) {
              this.array= this.store.select(state => state.array);

              this.array.subscribe((a) => {
                 console.log(a); //VALUES OK
                 this.changeDetector.markForCheck();
              }
          }
于 2016-10-17T21:25:49.780 に答える