如何使用 rest API 在应用程序启动时正确初始化 Vuex 商店?

Posted

技术标签:

【中文标题】如何使用 rest API 在应用程序启动时正确初始化 Vuex 商店?【英文标题】:How to properly initialize Vuex store on app startup using rest API? 【发布时间】:2019-12-06 12:51:19 【问题描述】:

我想使用从 API 获取的一些数据来初始化商店(我正在使用 axios)如何在应用启动时执行此操作,仅一次?

我有一个用于导出我的商店的 store.js 文件和一个执行此操作的 main.js 文件:

import Vue from "nativescript-vue";
import store from "./store";

new Vue(
  store,
  render: (h) => h("frame", [h(App)]),
).$start();

【问题讨论】:

【参考方案1】:

尝试将.dispatch() 与您的Axios REST API 抓取功能一起使用在Vue 主组件(包含存储的那个)的created() 挂钩中:

new Vue(
  store,
  render: (h) => h("frame", [h(App)]),
  created() 
    this.$store.dispatch('myAxiosFetchFunction');
  ,
).$start();

【讨论】:

在哪个组件上创建了钩子?我希望整个应用程序只运行一次。 在主组件中,在你放new Vuex.Store(store)的组件中。 好吧,我不知道你的应用程序的组件布局,但主/父组件听起来是正确的选择,因为你可能只有一个副本... @Ali 不是一个组件。那是 store.js 文件......哦,你的意思是 Vue 实例中的 main.js 文件 @Zaroth 你能根据我的编辑更新你的答案吗?

以上是关于如何使用 rest API 在应用程序启动时正确初始化 Vuex 商店?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确使用Hadoop YARN Restful api提交spark应用

如何在 React 中使用 fetch 正确处理来自 REST API 的数据对象

VSTS API REST无法正确下载源

如何在 REST api 中确定请求的来源

我是否可以使用AAD保护REST API(在春季启动时说)并从该AAD以用户身份访问它

如何使用 Wt 启动和运行 Restful API