[英]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.