簡體   English   中英

角度數組可觀察的訂閱未觸發

[英]angular array observable subscription not triggering

我的狀態為Person類型的數組。

export interface Person {
    name: string;
    age: number;
}

我有一個包含此狀態切片的Observable的組件。

export class PassengersComponent implements OnInit {
    public passengers$: Observable<Person[]>;

    constructor(public store: Store<fromRoot.State>) { }
    ngOnInit() {
            this.passengers$ = this.store.select(fromStore.getPassengers);

            // subscribe to the observable to detect any changes
            this.passengers$.subscribe((data: Person[]) => {
                console.log('Subscription hit!'); //<--- NOT BEING HIT AFTER 1ST TIME
            });

    }
}

我將對象數組簡單地推到視圖中。

<input type="number" *ngFor="let p of (passengers$ | async)" [ngModel]="p.age" (ngModelChange)="onPassengerAgeChange($event, p.name)">

“ onPassengerAgeChange()”事件將觸發,並且我的商店已成功更新。 我可以通過添加以下內容來驗證這一點:

{{ (passengers$ | async) | json }}

但是由於某種原因,商店更新時,我的組件中的訂閱代碼不會觸發。 我在這里想念什么?

我不正確地更改(變異)了Person []數組的狀態。

我有

{
    return state = action.payload;
}

應該在哪里

{
    return state = [].concat(action.payload);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM