我有此设置:
index.vue->包含不同的<NuxtLink :to="/abc">
或<NuxtLink :to="/def">
具有函数async asyncData() { ... }
的abc.vue和def.vue从API从服务器端加载数据。
我的问题是,函数asyncData
仅在第一次请求路径/abc
或/def
时才在服务器端执行。感谢NuxtJS的文档,我知道这是正常的行为。但是,当使用<Nuxt-Link>
时,如何从服务器上预取的API获取数据?
答案 0 :(得分:1)
那么您需要采取解决方法。 asyncData
提供了一个参数context
。这样您就可以访问vuex商店:
asyncData({store}) {
store.commit("somecommit", "somevar");
}
在vuex商店中,您在某处有状态,例如link1
。
通过提交,您可以更改状态。
现在您可以使用<NuxtLink :to="$store.state.link1">