0

app.routing.module:

{
  path: '',
  component: IndexComponent,
  resolve: { videos: GetVideosResolver },
},

GetVideosResolver:

resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
const VIDEOS_KEY = makeStateKey('videos');

if (this.transferState.hasKey(VIDEOS_KEY)) {
  const videos = this.transferState.get(VIDEOS_KEY, null);
  this.transferState.remove(VIDEOS_KEY);
  return of(videos);
} else {
  return this.http.get(`${environment.api_url}/video/list`).pipe(
    tap((videos: any) => {
      if (isPlatformServer(this.platformId)) {
        this.transferState.set(VIDEOS_KEY, videos);
      }
    }),
    catchError((err) => of())
  );
}

}

console.log(this.route.shapshot.data.videos) 在我的 IDE 控制台中打印正确的解析数据,尽管在浏览器控制台中缺少一些关键对象。似乎角度对您一次可以解决多大的对象有某种限制。我该如何绕过它?

4

1 回答 1

0

得到它的工作。

this.transferState.set(VIDEOS_KEY, { ...videos });
于 2020-10-16T12:36:52.477 回答