0

我正在使用 Angular Universal V6。我有一条路线“show-posts”,它在加载时有一个巨大的 XHR 请求。当我打开view source此路由的版本时,我看到一切都已成功渲染,但应由 XHR 请求数据绑定的位置在源中为空。

我正在使用解析器:

{ path: 'show-posts/:post_id', 
  component: ShowPostComponent ,
  resolve  : {postData : getPostDataResolver}
}

在 ngOnInit 中:

this.route.data.subscribe( data =>{
  this.postData = data;
})

这似乎是在 Angular Universal 中绑定 XHR 数据以制作 SEO 友好页面的标准方法。但它不起作用。它显示要查看的数据,但在“查看源”版本中,范围为空。

我该如何解决?它在所有路线上都运行良好,但在这条拥有巨大 XHR 的路线上,无法找到。

4

1 回答 1

0

是的,使用解析器是一个很好的做法。您告诉路由器解析名为 postData 的值。所以我看到的第一个错误是你的组件没有读取这个解析值。您的代码应如下所示

this.route.data.subscribe(() => {
  this.postData = this.route.snapshot.data.postData;
});
于 2018-09-18T08:37:11.293 回答