理论:Axios调用(专门针对VueJS)

2023-12-11

在组件上mount(),axios从后端获取信息。在生产站点上,用户在路线之间来回移动,当数据已经存在时,一次又一次地进行相同的调用是低效的。state.

专业人士如何设计他们的 VueJS 应用程序,以免进行不必要的 Axios 调用?

谢谢你,


如果数据是您的应用程序的核心并存储在 Vuex 中(假设这就是您的意思"state"),为什么不直接在初始化商店的地方加载它呢?

// store.js
import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'wherever'

Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    centralData: {}
  },
  mutations: {
    setCentralData (state, centralData) {
      state.centralData = centralData
    }
  },
  actions: {
    async loadCentralData ({ commit }) {
      const { data } = await axios.get('/backend')
      commit('setCentralData', data)
    }
  }
}

// initialise
export const init = store.dispatch('loadCentralData')

export default store

如果您需要在(例如)安装根目录之前等待调度完成Vue例如,您可以使用init promise

import Vue from 'vue'
import router from 'path/to/router'
import store, { init } from 'path/to/store'

init.then(() => {
  new Vue({
    store,
    router,
    // etc
  }).$mount('#app')
})

您可以导入并使用init承诺任何地方以等待数据加载。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

理论:Axios调用(专门针对VueJS) 的相关文章

  • nuxtjs 无法在生产环境中显示动态 url

    我正在使用 nuxjs 构建我的项目 并创建一个动态显示地点信息的页面 当我跑步时npm run dev并测试http localhost 3000 place 66bb50b7a5 http localhost 3000 place 66
  • 构建 Vue 微前端应用程序(带有路由和 vuex 存储)

    我需要帮助配置使用 Vuex Vue Router 和 Vue i18n 的微前端应用程序的构建 分发 TL DR 我在构建将导入到现有系统中的微前端应用程序时遇到问题 我们的团队尝试通过 vue cli service 和 vue web
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas
  • 监听来自动态vue组件的事件

    您将如何侦听动态创建的组件实例发出的事件 在示例中 顶部组件添加到 DOM 中 而第二个组件是在 javascript 中动态创建的 Vue component button counter data function return cou
  • VueJS 精确活动类

    我有一个使用 Router link 的菜单 当 Router link 被激活时 我想将类 Active 放在 li 上 ul class nav nav second level li li ul
  • v-file-input .click() 不是函数

    我试图以编程方式触发 v file input 的 click 事件 因为它在 Vuetify 的文档中 但它显示一个错误this refs imagePicker click is not a function我在这里错过了什么吗 代码重
  • Nuxt 3动态组件中根据路由参数进行API调用

    我正在尝试创建一个简单的 Nuxt 3 应用程序用于学习目的 它使用动态路线 https v3 nuxtjs org docs directory structure pages dynamic routes加载页面时从 API 加载数据
  • 如何使用 TypeScript 接口输入 Vue 提示 props?

    这件事真的让我的头撞到了墙上 我记得在 Angular 工作时 TS 接口可用于输入提示参数 我想对 Vue 中的 props 做同样的事情 有任何想法吗 代码如下 但仅针对标准对象进行检查 因此传入任何对象都是有效的 import Vue
  • Vuetify 组件 v-form 对声明的 @submit 事件处理程序没有响应

    我正在使用 Vuetify 和 VueJS 最新版本 这是一个小模板登录 vue
  • 如何从vuejs和firestore获取文档的id?

    我有这个代码可以从 firestore 获取所有文档 const getThemesList async commit gt const snapshot await firebase firestore collection themes
  • 在 Vue.js 2 中将 props 作为初始数据传递的正确方法是什么?

    所以我想将 props 传递给 Vue 组件 但我希望这些 props 将来会从该组件内部发生变化 例如当我使用 AJAX 从内部更新该 Vue 组件时 所以它们仅用于组件的初始化 My cars listVue 组件元素 我将具有初始属性
  • 在 Vue SFC 组件中导入 SCSS 文件,无需使用 Webpack 进行重复

    当我尝试访问所有 Vue SFC 中的 scss 文件时 样式会重复 导致大型 css 包和开发工具在样式调试时崩溃 我正在使用 Webpack 4 和 webpack dev server 来构建和运行具有热重载的开发服务 我没有使用 V
  • 使用 Nuxt 动态获取并编译模板

    我想从远程获取 svg 并通过编译使其栩栩如生 对于 赋予生命 我的意思是按类选择其中一些元素 并动态地将组件列表附加到其中 现在我只是使用 div div 我的组件如下所示 data return svg async created le
  • Firestore onSnapshot() 方法多次触发

    我有一个带有多个路由和 vuex 的 vue cli 4 应用程序 Firestore 数据库已成功连接 我的应用程序立即反映从 Firestore 控制台应用于数据库的修改 在离开包含与 Firestore 同步 的组件的路线然后返回后
  • Vue SPA - 如何在浏览器中呈现时隐藏 .vue 文件

    我正在开发一个用 Vue js 开发的单页应用程序 托管在 Node js 服务器上 目前它仍在开发中 但最终将暴露给外部客户 并且由于我们将处理敏感数据 我们希望避免在用户检查元素时看到 vue 文件和相对文件树结构在开发工具中 See
  • Vue-动态导入vue组件

    我有很多组件 我想按需导入 我有一个下拉菜单 其中实际上包含组件列表 即要加载的内容 我试过这个例子
  • 如何在 NuxtJs 路由中使用 *(星号)?

    在 vue cli 生成的普通 Vue 不是 Nuxt 项目中 使用 在 vue router 中这样工作 export default new Router routes path about name about component A
  • Vue.js - 当标头中使用 multipart/form-data 时,axios 中的文件上传验证失败

    我正在构建一个 Laravel Vue js SPA 单页应用程序 BootstrapVue https bootstrap vue js org Vee验证 https logaretm github io vee validate gu
  • nuxt.js - 如何在服务器端为所有客户端缓存 axios 调用

    我正在使用 vue nuxt js 应用程序 我想知道是否可以为所有客户端缓存 axios webservice 调用 我必须获取一些货币参考数据 而每个客户都必须调用这些数据并没有多大意义 有人可以给我一些提示 甚至是一个例子吗 谢谢 这
  • Nuxt JS 插件是否可以只运行一次?

    我有几个 VueX 操作 仅在服务器上运行 并从nuxtServerInit 它们向外部服务发出 HTTP 请求 这会减慢 TTFB 的速度 我想实现一个缓存插件 可以从 Redis 存储和检索值 目的是避免在每个请求的操作中发出 HTTP

随机推荐

  • 如何检查用户是否是组成员

    我的目标是检查用户是否是特定活动目录组的成员 In net mvc我在我的服务中使用了这段代码 HttpContext Current Request LogonUserIdentity Groups Any x gt x Translat
  • 正则表达式在 Expect 缓冲区中查找字符串

    我正在尝试找到一个可匹配转义字符字符串的正则表达式 Expect 响应 请参阅这个问题 和一个六位数字 第一个字符为字母数字 这是我需要识别的整个字符串 r n u001b 1 14HX76196 最终我需要提取字符串 X76196 这是我
  • 发送一个 ViewModel,其中包含一个带有 Html.BeginForm 的列表(MVC 4)

    我的视图模型包含一个整数列表 我遇到的问题是 当我发送修改后的表单视图模型时 它始终等于 null 我的视图模型 public class testViewModel public List
  • Heroku LoadError:libruby.so.2.2

    当我尝试将更改推送到 Heroku 上的 staging dyno 时 我在构建时收到了以下消息 git push staging remote gt Installing dependencies using 1 9 7 remote R
  • 在 Android 上使用 sqlite(带有 FTS)

    我正在使用 sqlite FTS3 数据库和我的 Android 应用程序 public Cursor getWordMatches String query String columns String selection KEY WORD
  • 网络订单简称 (Java)

    我需要发送一个网络订单 简称为我使用 Java 编写的游戏服务器 我阅读了有关网络顺序的信息 但找不到有关数据之前发送的短路的任何详细信息 有人可以向我解释一下它是什么 以及如何使用 Java 将其发送给客户端吗 Java NIO 字节缓冲
  • 为什么运算符模块缺少“and”和“or”?

    operator模块可以轻松避免不必要的函数和 lambda 在这样的情况下 import operator def mytest op list1 list2 ok op i1 i2 for i1 i2 in zip list1 list
  • DefType 语句是否被视为不好的做法?

    我想听听您对为什么或 为什么不 应该 或不应该 使用这个声明的想法 由于这有点主观 这是我的标准 出于具体原因而投票 而不是不合理的意见 最终接受的答案将是最全面的答案 在精心设计的节目中 Defxxx语句是没有意义的 因为所有变量和函数都
  • Nativescript Datepicker更改文本颜色

    我正在尝试将 Android 中的日期选择器颜色更改为白色 我尝试过在 styles xml 中使用 colorPrimary 但没有成功
  • 如何在 Tomcat 6 中部署战争

    我使用过 Jboss 部署是通过将 war 放到部署文件夹中来进行的 但是当我将 war 项目设置为 Tomcat 服务器时 eclipse 声称它正在部署 war 但我在 webapps 文件夹中看不到我的 war 我的战争的网址是什么
  • 在 Windows 中将 __int64 转换为 long

    如何在 Windows MSVC8 和 MSVC6 中将 int64 转换为 long 正常的打字能起作用吗 另外 将 long 转换为 int64 怎么样 如果long是一个负值 它会起作用吗 注意 我正在讨论这样一种场景 其中 int6
  • 在 python 中重命名“def”(和其他关键字)[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我正在尝试为自定义语言编写一个 解释器 该语言与 python 非常相似 但也有一些区别 例如 Python def subRoutine print hello Custom sub s
  • NSTextStorage 对大小和更新频率的限制

    我正在尝试创建一个类似终端的应用程序 可以在应用程序运行时显示日志 当前的实现使用 NSScrollView gt NSTextView 但是 我注意到 NSTextView 的大小对于我的程序来说不够大 并且我无法经常更新 UI 假设我们
  • 从 SDN 4.0 迁移到 SDN 4.1.RC1 时出现 GraphQueryLookupStrategy.resolveQuery 异常

    我正在将应用程序迁移到使用 SDN 4 1 0 RC1 但在尝试启动应用程序后遇到了一些问题 我已经进行了必要的配置更改 以正确使用远程服务器 localhost 7474 的 HTTPDriver 并且在启动应用程序时 在尝试加载 spr
  • 有没有更奇特的方法来获得同等级的先前物品?

    我有这样的表行 tr class parent0 row3 td td tr tr class parent3 row7 td td tr tr class parent3 row12 td td tr tr class parent0 r
  • 无法使用 Sustainsys 的 Saml2 注销

    这应该将我的应用程序重定向到我的 AdFs 注销页面 然后将我重定向回我的应用程序 然而 它只是将我重定向到我的路线 logout 查看我的 ADFS 服务器上的日志 没有任何反应 AllowAnonymous HttpGet Route
  • 为谷歌折线图动态透视数据

    我想在同一个折线图中显示多年来各个国家的 人口 显示的数据基于多选下拉列表 国家 地区 中的选择 基础数据表有 3 列 年份 国家 人口2012年 A国 332013年 A国 352014年 A国 402012年 B国 652013年 B国
  • 光滑2d |实体碰撞检测

    问题 我知道这个问题已经被问过很多次了 但我没有找到任何好的答案 所以我已经为我的游戏准备了一些实体 现在检查碰撞的最佳方法是什么 Links 游戏 已完结 代码解释 我有一个世界级的实体列表 List
  • 数据库计算错误

    这是我要设置的 result price case when tax 0 then tax1h 100 else tax2 100 end 1 这些是值 price 17 5 tax 1 tax2 6 17 5 6 100 1 16 5 返
  • 理论:Axios调用(专门针对VueJS)

    在组件上mount axios从后端获取信息 在生产站点上 用户在路线之间来回移动 当数据已经存在时 一次又一次地进行相同的调用是低效的 state 专业人士如何设计他们的 VueJS 应用程序 以免进行不必要的 Axios 调用 谢谢你