刷新后未检测到Vuex,但是所有数据都输出到控制台。此外,刷新后,某些组件的行为也会不正确。例如,我使用vee-validate,从背面获得的所有规则和字段,刷新后,验证规则消失,但显示的字段是>
Vuex可在所有页面上使用,但仅在主页上刷新后
stroe / index.js
export const state = () => ({}); const map = { ru: "ru", uk: "uk-ua" }; export const getters = { lang(state) { return map[state.i18n.locale]; } }; export const mutations = {}; export const actions = { async nuxtServerInit({ state, dispatch }) { try { await dispatch('category/getCategories', { }); } catch (err) { console.log('nuxt server init error', err); } } };
主页(一切正常)
<template> <div> <main class="home-page"> <banner /> <section class="home_page"> <div class="container"> <phone-pay /> <card-pay /> <categories :categories="categories" :services="services" /> <main-banner /> </div> </section> </main> </div> </template> <script> import Banner from "@/components/Index/Banner"; import PhonePay from "@/components/Index/PhonePay"; import CardPay from "@/components/Index/CardPay"; import Categories from "@/components/Index/Categories"; import MainBanner from "@/components/Index/MainBanner"; export default { components: { Banner, PhonePay, CardPay, Categories, MainBanner }, async asyncData({ store, app: { $api }, error, req }) { try { const { data: { data: categories, included: services } } = await $api.CategoryProvider.getPopularCategories({ params: { include: "services" } }); return { lang: store.getters.lang, categories, services }; } catch (e) { console.log("error index", e); error({ statusCode: 404, message: "Page not found" }); } } }; </script>
类别(无效)
<template>
<services-viewer :initial-services="initialServices" :category="category" :init-meta="initMeta" />
</template>
<script>
import ServicesViewer from "@/components/UI/ServicesViewer";
export default {
components: {
ServicesViewer
},
async asyncData({ store, route, error, app: { $api } }) {
try {
const {
data: { data: initialServices, meta: initMeta }
} = await $api.ServiceProvider.getServices({
params: {
"filter[category_slug]": route.params.id,
include: "category"
// "page[size]": serviceConfig.SERVICE_PAGINATION_PAGE_SIZE
}
});
await store.dispatch("category/getCategories", {
params: {}
});
const category = store.state.category.categories.find(
({ attributes: { slug } }) => slug === route.params.id
);
return {
initialServices,
category,
initMeta
};
} catch (e) {
const statusCode = e && e.statusCode ? e.statusCode : 404;
error({ statusCode });
}
}
};
</script>
刷新后未检测到Vuex,但是所有数据都输出到控制台。此外,刷新后,某些组件的行为也会不正确。例如,我使用vee-validate以及我得到的所有规则和字段...
安装以下软件包: