解析器中的 NGRX 选择器
NGRX selector in resolver
在我的解析器中我有:
export class ComicMainResolver implements Resolve<any> {
store = new Observable<any>();
resolve(): Observable<any> {
return this.store.pipe(select(getItems(CategoryType.Comics, false, 'results')))
.pipe(
filter((comic: any) => {
console.log(comic);
return comic !== undefined;
}), first());
}
}
但它没有解决,甚至不会在过滤器中记录 var
问题在于 store 是一个空的 Observable,相反,您需要注入您的 store 并像这样使用它:
@Injectable({
providedIn: 'root'
})
export class ComicMainResolver implements Resolve<any> {
constructor(private store: Store<State>) {}
resolve(): Observable<any> {
return this.store.pipe(select(getItems(CategoryType.Comics, false, 'results')))
.pipe(
filter((comic: any) => {
console.log(comic);
return comic !== undefined;
}), first());
}
}
在我的解析器中我有:
export class ComicMainResolver implements Resolve<any> {
store = new Observable<any>();
resolve(): Observable<any> {
return this.store.pipe(select(getItems(CategoryType.Comics, false, 'results')))
.pipe(
filter((comic: any) => {
console.log(comic);
return comic !== undefined;
}), first());
}
}
但它没有解决,甚至不会在过滤器中记录 var
问题在于 store 是一个空的 Observable,相反,您需要注入您的 store 并像这样使用它:
@Injectable({
providedIn: 'root'
})
export class ComicMainResolver implements Resolve<any> {
constructor(private store: Store<State>) {}
resolve(): Observable<any> {
return this.store.pipe(select(getItems(CategoryType.Comics, false, 'results')))
.pipe(
filter((comic: any) => {
console.log(comic);
return comic !== undefined;
}), first());
}
}