使用Nuxt-Link访问路线时,NuxtJS预取数据?

时间:2020-07-06 09:54:33

标签: javascript nuxtjs

我有此设置:

index.vue->包含不同的<NuxtLink :to="/abc"><NuxtLink :to="/def">

具有函数async asyncData() { ... }的abc.vue和def.vue从API从服务器端加载数据。

我的问题是,函数asyncData仅在第一次请求路径/abc/def时才在服务器端执行。感谢NuxtJS的文档,我知道这是正常的行为。但是,当使用<Nuxt-Link>时,如何从服务器上预取的API获取数据?

1 个答案:

答案 0 :(得分:1)

那么您需要采取解决方法。 asyncData提供了一个参数context。这样您就可以访问vuex商店:

asyncData({store}) {
   store.commit("somecommit", "somevar");
}

在vuex商店中,您在某处有状态,例如link1

通过提交,您可以更改状态。

现在您可以使用<NuxtLink :to="$store.state.link1">