【发布时间】:2018-10-21 16:01:51
【问题描述】:
我正在使用 Angular 6,我正在使用服务器端渲染。
我想做的是:
当一个页面输出完全渲染后,我们在nginx中缓存30分钟,第一次请求url时是否可以显示准确的页面(ssr渲染页面)?
让我澄清一下这个问题,我想这样做: 我打开http://myExampleSite.com,因为这是第一个请求页面由 ssr 呈现并且数据被发送到浏览器,我想在第一个请求中显示呈现的数据(当它来自 ssr 时)以防止另一个 http 调用。
当我想访问 ssr 呈现的元素时,它返回 null,例如,当我想访问 getEelementById 呈现的 ssr 项的子元素时,它返回 null。
我认为当 Angular 应用程序加载时,它会加载组件中提到的 .html 文件,因此来自 ssr 的所有数据都会丢失。
有没有办法访问 ssr 渲染的页面数据?
我为什么要这样做?因为我想阻止额外的 http 调用,因为 ssr 已经存在数据,并且在路由更改时可以进行 http 调用并重新呈现页面,但不是在第一次加载页面时。
非常感谢
【问题讨论】:
-
如果我正确理解您的问题,您不能在页面加载期间请求 ssr 页面并设置 innerHTML 吗?
-
我无法访问ssr提供的渲染模板我的意思是,我只想显示ssr渲染了什么,如果它是直接调用并且不进行https调用,但是当内部路由时,http调用没问题
-
假设我的要求正确,请查看我的答案:p
标签: javascript angular