请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

好像未使用window.location.href的情况下,并没有进行服务端渲染是吗?

看完9.7之后产生的一些疑惑.
使用window.location.href,客户端有重新收到一个关于home页的新的document文档.并且服务端home页面的asyncData的逻辑也有执行.
但是采用router.push({name:“home”})的方式跳转以后,服务端关系home页面的asyncData逻辑并未执行,这一部分被换到了客户端执行.
是否可以理解为.除了第一下进入页面时走的是服务端渲染,后面其实并非是服务端渲染了,而是走的客户端渲染?
如果是走的客户端渲染,为什么右键查看源码的时候,发现源码里面,其实是包含了完整的像是走了asyncData的内容,这就很奇怪…

正在回答 回答被采纳积分+3

1回答

Harry_wang 2023-05-09 11:59:57

理解的没错

课程中某一章节应该有讲到这个问题。

1、直接刷新页面就相当于reload,这样就走了服务端渲染,可以拿到服务端直接渲染好的带有数据的静态页面。

2、在课程第10章中使用前端路由做跳转,是因为并不想每次跳转页面的时候重新刷新当前页面,这样就失去了单页面应用的优势和用户体验,因此跳转页面使用的前端路由,这样就没有走服务端,所以需要调用接口获取数据,因此network里有请求记录。


总结:服务端渲染主要用于首屏渲染和SEO,这些情况下在抓取单独页面的时候肯定会经过reload页面的过程,所以你不用担心network是否出现请求的现象。综上所述,服务端渲染你可以采用两种方式跳转:

a、window.open或者window.location.href

b、前端路(vue-router)


0 回复 有任何疑惑可以回复我~
  • 老师 是否 不用哈希路由 url就不会被浏览器端拦截 都会走服务端去重定向单页面,就可以用router.push方法来呢
    回复 有任何疑惑可以回复我~ 2024-07-21 22:54:23
  • 不是的 跟哈希不哈希没关系
    回复 有任何疑惑可以回复我~ 2024-07-22 22:01:38
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信