问题描述
在nuxt的asyncData调用会出现跨域问题,但是刷新后就好了,而且每次路由切换后只要有asyncData都会有跨域报错,但是刷新后都会好。
nuxt中的asyncData理解
asyncData并不是每次都从服务端渲染,只有当页面刷新时才从服务端渲染,而在客户端点击链接跳转时并不从服务端渲染,而是和标准vue的spa应用一样,从客户端进行渲染。
nuxt官方英文文档有说明,中文文档没有:
asyncData
is called every time before loading the page component and is only available for such. It will be called server-side once (on the first request to the Nuxt app) and client-side when navigating to further routes.
问题解决
将用户跳转的nuxt-link标签
改成a标签
的方式进行跳转。通过nuxt-link
进行跳转不会跳转到新的页面,也不会重新渲染,它会选择路由所指的组件进行渲染,避免了重复渲染的“无用功”。 通过a标签
进行跳转,页面会被重新渲染,即相当于重新打开一个新的网页,体现为视觉上的“闪烁”。