I'm building an ng2 application using ngrx. When the app is launched a web service is called to get initial data, once this data is fetched I create an INIT_DONE action.
My State looks like this :
export interface State {
documents: Document[];
selectedDocument: Document
}
When I go to the page /mypage/456 where 456 is a url parameter, I need to get some of the fetched data so I get the URL parameter like this :
ngOnInit() {
this.paramSubscription = this.route.params
.select<string>('id')
.map((id) => new SelectAction(id))
.subscribe(this.store);
}
The SELECT_ACTION finds the element in the fetched data and sets selectedDocument
. The problem is that the SELECT_ACTION is created before INIT_DONE and at that point documents
is empty.
How do I wait for INIT_DONE before loading my page ?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…