【发布时间】:2021-11-01 04:22:47
【问题描述】:
我正在使用 nuxt 和 vuex。在 vuex 中获取数据:
actions: {
get_posts(ctx) {
axios.get("http://vengdef.com/wp-json/wp/v2/posts").then(post => {
let posts = post.data;
if (!posts.length) return;
let medias_list = "";
posts.forEach(md => {
medias_list += md.featured_media + ","
});
medias_list = medias_list.slice(0, -1);
let author_list = "";
posts.forEach(md => {
author_list += md.author + ","
});
author_list = author_list.slice(0, -1);
axios.all([
axios.get("http://vengdef.com/wp-json/wp/v2/media?include=" + medias_list),
axios.get("http://vengdef.com/wp-json/wp/v2/users?include=" + author_list),
axios.get("http://vengdef.com/wp-json/wp/v2/categories"),
]).then(axios.spread((medias, authors, categories) => {
ctx.commit("set_postlist", {medias, authors, categories} );
})).catch((err) => {
console.log(err)
});
})
}
},
在 vuex 状态下,我有来自下面的 exaple 的动态 postlist。 我如何在 Nuxt 中使用它?
在 nuxt 我知道 async fetch 和 asyncData。
async fetch () {
this.$store.dispatch("posts/get_posts");
}
那不行。
在 vuex 操作加载所有数据之前,我如何对 nuxt 说,等待加载页面?
【问题讨论】:
-
等待这个。$store.dispatch("posts/get_posts");也许就足够了