簡體   English   中英

從 ngOnInit 調用時 Observable.next 不起作用

[英]Observable.next doesn't work when called from ngOnInit

1.

我正在嘗試從頭開始做ngrx/redux類的ngrx/redux ,但遇到了問題。

基本上我想從 ngOnInit 發送一個事件並且狀態應該改變。 還應該打印該事件已處理。

我不知道問題是否出在 AppComponent 中 - 訂閱在模板中:

<div *ngIf="(state$ | async) as state">
  This is state {{state | json}}
</div>

或者 action$ 類型錯誤的東西(當前主題)。

2. 為什么這在被router.navigate(...)調用時router.navigate(...)

https://stackblitz.com/edit/angular-h9fbvu

Angular 在ngOnInit鈎子被觸發后開始檢查模板。

這意味着您的state$ observable 在執行ngOnInit時沒有任何訂閱者。

這里的另一個關鍵點是您將Subject用於不包含以前值的操作。 一旦你用BehaviorSubject替換它,它應該開始工作

actions$: Subject<Action> = new Subject<Action>();
                                 ||
                                 \/
actions$: Subject<Action> = new BehaviorSubject<Action>(null);

分叉的堆棧閃電戰

暫無
暫無

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

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