NuxtJs asyncData的用例是什么?

时间:2019-10-08 17:04:57

标签: vue.js vuejs2 nuxt.js server-side-rendering

据我所知,NuxtJs页面中的asyncData函数是在创建组件之前在服务器端呈现的。以及在页面加载后用户在内部页面之间导航时。 fetch功能非常相似,但是我们可以在其中将数据设置为store,并在路由更改时检查store中是否存在数据...

现在的问题是,为什么我要在页面刷新和路由更改中都向API发送请求?使用fetch函数并将数据存储在vuex存储中不是更好,所以不需要进一步的API调用吗?在asyncData函数内部需要什么样的数据?

例如,如果我想在服务器端渲染的应用程序中显示帖子列表,我认为最好的方法是使用fetch属性填充vuex store,然后,在每次更改路线时,我都会将数据存储在存储区中,并且无需进行API调用。

1 个答案:

答案 0 :(得分:1)

该用例用于检索仅与特定页面相关的数据。

例如,您有多个端点返回有关特定动物,/ api / cats,/ api / dogs,/ api / birds的数据。

在浏览器中加载theapp.com/ cats 时,asyncData函数从/ api / cats 获取数据,并将其呈现在服务器端。

类似地,对于theapp.com/dogs,它会获取/ api / dogs。

如果一个/ api / animals端点包含一种饲料(狗,猫和鸟)中的所有动物数据,则用例会更改。

在这种情况下,您将进行一次检索,以使用诸如nuxtServerInit

之类的所有页面数据填充商店