请问vuejs ssr是怎么把异步的数据获取并渲染出来的
发布于 9 年前 作者 bjdfs 12565 次预览 最后一次回复是 9 年前 来自 问答
官网的HN2.0例子中用了vuex,因为我还不懂vuex,所以写的demo里边没有用这个,然后问题就是我从firebase获取的数据不能做到服务端渲染,每次我渲染出来返回的html都没有从接口获取来的数据,我的理解是因为接口是异步获取的,所以渲染不出来,可是为毛官网的例子也是从接口获取的数据可以通过服务端渲染?
6 回复
官网的HN2.0例子中用了vuex,因为我还不懂vuex,所以写的demo里边没有用这个,然后问题就是我从firebase获取的数据不能做到服务端渲染,每次我渲染出来返回的html都没有从接口获取来的数据,我的理解是因为接口是异步获取的,所以渲染不出来,可是为毛官网的例子也是从接口获取的数据可以通过服务端渲染?
谢谢回复哈我也是这么写的,可是我渲染出来的html没有接口返回的内容,我在网上搜到prefetch这个关键字,可还是不太明白
@i5ting
@bjdfs
你说的是这个吧
<script>标签的形式写进response所以preFetch只是个约定好的接口的,你用其他名字也没毛病。
至于为毛要实现这个接口,因为在服务端环境中,拿到的不是组件实例而是组件的"构造函数",导致根本就拿不到组件内的this,更别提methods和this.$store.state了,因此必须分离成在组件外部的一个接口,服务端直接调用这个接口并传入全局state即可。
我写过一些SSR的文章,有兴趣可以看一看
https://github.com/leaves4j/vue-easy-renderer