Vue.js中ajax请求代码应该写在组件的methods中还是vuex的actions中

简介: Vue.js中ajax请求代码应该写在组件的methods中还是vuex的actions中

我是这样认为的,首先,你要考虑清楚这个异步请求你要是 全局公用呢还是 单个组件私有呢?

如果是公用,还是写在 vuex 的actions 当中为妙,而私有 则 写在methods中。

实际上我是这样做的,公有数据 state ,而私有方法。

意思就是直接 不用 actions, 请求全部放在 组件methods 当中,更新数据的话也不通过 actions 这一环节,直接通过method 调用 mutation。 这样就可以把vuex 分为三个部分, state,setter,getter, 风别是 数据,写操作,读操作。 这样的话 我觉得逻辑清楚一点。

而如果把 method 写到 actions 中,第一个,在写组件的时候不是太方便,使得 vue组件严重依赖 store。再一个,写着太麻烦,例如,我就随便改一个数据的值,而我又不想使用mapActions 将所有方法写到store中,那我就得先调用 …mapAction,然后通过action 将数据提交到 mutation,再通过 mutation 来改state,流程是在是太长了。而省略掉 action后,只需要在方法中 …mapMutation 就直接改好 state,方便快捷。

而且到目前为止,我还没有发现那个方法需要写进 actions 呢,全局只要 数据 流通就够了。


相关文章
|
8月前
|
JavaScript 前端开发 安全
【逆向】Python 调用 JS 代码实战:使用 pyexecjs 与 Node.js 无缝衔接
本文介绍了如何使用 Python 的轻量级库 `pyexecjs` 调用 JavaScript 代码,并结合 Node.js 实现完整的执行流程。内容涵盖环境搭建、基本使用、常见问题解决方案及爬虫逆向分析中的实战技巧,帮助开发者在 Python 中高效处理 JS 逻辑。
|
10月前
|
JavaScript 前端开发 算法
流量分发代码实战|学会用JS控制用户访问路径
流量分发工具(Traffic Distributor),又称跳转器或负载均衡器,可通过JavaScript按预设规则将用户随机引导至不同网站,适用于SEO优化、广告投放、A/B测试等场景。本文分享一段不到百行的JS代码,实现智能、隐蔽的流量控制,并附完整示例与算法解析。
268 1
|
存储 JavaScript 前端开发
在NodeJS中使用npm包进行JS代码的混淆加密
总的来说,使用“javascript-obfuscator”包可以帮助我们在Node.js中轻松地混淆JavaScript代码。通过合理的配置,我们可以使混淆后的代码更难以理解,从而提高代码的保密性。
1249 9
|
11月前
|
JavaScript
JS代码的一些常用优化写法
JS代码的一些常用优化写法
196 0
|
前端开发 JavaScript
【Javascript系列】Terser除了压缩代码之外,还有优化代码的功能
Terser 是一款广泛应用于前端开发的 JavaScript 解析器和压缩工具,常被视为 Uglify-es 的替代品。它不仅能高效压缩代码体积,还能优化代码逻辑,提升可靠性。例如,在调试中发现,Terser 压缩后的代码对删除功能确认框逻辑进行了优化。常用参数包括 `compress`(启用压缩)、`mangle`(变量名混淆)和 `output`(输出配置)。更多高级用法可参考官方文档。
988 11
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
移动开发 运维 供应链
通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
array.some()可以用来权限检查、表单验证、库存管理、内容审查和数据处理等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 前端开发
VUE的ajax拦截器
先介绍第一种  基于饿了么组件中的全局ajax请求等待的书写方法 main.js中 import EventBus from './../src/core/EventBus'; Vue.
1133 0
|
8月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
684 2
|
7月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
589 137