vuex actions异步请求 跟module模块化
actions vuex里面的异步操作,接受参数context ,参数有commt,getters,state
列如:调用 mutations 方法实现修改state 数据 (只能通过mutations 修改 state 数据)
state:()=>{count: 0,
}mutations: {addCount(state) {state.count++},}actions:{getCountAdd(context){context.commit('addCount')},}
在页面调用 (dispatch 调用)
<div>{{ $store.state.count }}</div><button @click="getCountAdd">+1</button>
<script setup>
import { useStore } from "vuex";
const store = useStore();
function getCountAdd(){store.dispatch('getCountAdd')
}</script>
实现api 请求数据
state: () => ({banner: []}),mutations: {getBanner(state, banner) {state.banner = banner}},actions: {async getContent(context) {console.log('opopo');// 普通调用// fetch('xxx/xxx/xxx').then(res=>{// res.json().then(data => {// console.log(data);// })// })// 链式调用// fetch('xxx/xxx/xxx').then(res=>{// return res.json()// }).then(data => {// console.log(data);// })// async await 调用const res = await fetch('xxx/xxx/xxx')const data = await res.json()console.log(data);context.commit('getBanner', data.data.banner.list)}}
在页面中直接调用(dispatch 调用)
<div><div v-for="(item, index) in $store.state.banner" :key="index"><img :src="item.image" /><div>{{ item.title }}</div></div></div>
<script setup>
import { useStore } from "vuex";
const store = useStore();
store.dispatch("getContent");
</script>
module 模块划分(默认)
列如将上面的轮播图抽取出来
新建 module/ home.js
home.js
export default {state: () => ({banner: [],ages:20,names:'徐凤年'}),mutations: {getBanner(state, banner) {state.banner = banner}},getters:{getInfo(state){return state.names + '今年' + state.ages + '岁'}},actions: {async getContent(context) {const res = await fetch('xxx/xxx/xxx')const data = await res.json()console.log(data);context.commit('getBanner', data.data.banner.list)}}
}
在store/index.js 引入
import { createStore } from 'vuex'
import home from "./module/home"
const store = createStore({modules:{home:home}
})export default store
在页面中使用时 (默认 state要加上模块名称 , getters 不用,获取根模块)
<!-- 需要加上模块 列如 $store.state.xxx.banner --><div v-for="(item, index) in $store.state.home.banner" :key="index"><img :src="item.image" /><div>{{ item.title }}</div></div></div><!-- 默认不需要加上模块 $store.getter.getInfo --><div>{{$store.getters.getInfo}}</div>
<script setup>
import { useStore } from "vuex";
const store = useStore();
store.dispatch("getContent");
</script>
module 模块划分(加命名空间 namespaced:true,)
在开发时难免会遇见 模块中存在相同命名的情况,默认情况下会同时获取,所以加命名空间独立出来
export default {namespaced:true,state: () => ({banner: [],ages:20,names:'徐凤年'}),mutations: {getBanner(state, banner) {state.banner = banner}},getters:{getInfo(state){return state.names + '今年' + state.ages + '岁'}},actions: {async getContent(context) {const res = await fetch('xxx/xxx/xxx')const data = await res.json()console.log(data);context.commit('getBanner', data.data.banner.list)}}
}
在页面使用
<!-- 需要加上模块 列如 $store.state.xxx.banner --><div v-for="(item, index) in $store.state.home.banner" :key="index"><img :src="item.image" /><div>{{ item.title }}</div></div></div><!-- 加命名空间 --><div>{{$store.getters['home/getInfo']}}</div><script setup>import { useStore } from "vuex";const store = useStore();store.dispatch("home/getContent");
</script>
相关文章:
vuex actions异步请求 跟module模块化
actions vuex里面的异步操作,接受参数context ,参数有commt,getters,state 列如:调用 mutations 方法实现修改state 数据 (只能通过mutations 修改 state 数据) state:()>{count: 0, }mutations: {addCount(state)…...

医学图像分割:U_Net 论文阅读
“U-Net: Convolutional Networks for Biomedical Image Segmentation” 是一篇由Olaf Ronneberger, Philipp Fischer, 和 Thomas Brox发表的论文,于2015年在MICCAI的医学图像计算和计算机辅助干预会议上提出。这篇论文介绍了一种新型的卷积神经网络架构——U-Net&a…...

从0到0.01入门 Webpack| 008.精选 Webpack面试题
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...

免费不限字数的文本转语音AI配音工具,无需安装
上周给大家分享了AI绘本故事制作,很多小伙伴让我,推荐一款免费的AI配音,音色质量富有情感语调,而且手机上就能用的文本转语音工具。 OK,那么今天就给小伙伴们推荐一款我经常自用的AI配音工具,无需安装下载&…...
开源大模型框架llama.cpp使用C++ api开发入门
llama.cpp是一个C编写的轻量级开源类AIGC大模型框架,可以支持在消费级普通设备上本地部署运行大模型,以及作为依赖库集成的到应用程序中提供类GPT的功能。 以下基于llama.cpp的源码利用C api来开发实例demo演示加载本地模型文件并提供GPT文本生成。 项…...

Qt 网络通信
获取本机网络信息 (1)在 .pro 文件中加入 QT network(2) #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QDebug> #include <QLabel> #include <QLineEdit> #include <QPu…...

基恩士软件的基本操作(五,日志记录与使用)
目录 基恩士是如何保存日志的? 如何使用日志功能 查看DM10的值1秒加1的记录日志 设定id与储存位置 软元件设定( 日志ID有10个(0~10),每一个ID最多添加512个软元件) 设定触发 执行日志的梯形图程序 触…...

MySQL 8 手动安装后无法启动的问题解决
开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(…...

难怪被人卷了不知道啊!这么学自动化测试,一个星期就搞定了!!!
目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够明白自动化测试并很好落地实施的团队还不是非常多,我们接来下用通俗的方式来介绍自动化测试…… 首先我们从招聘岗位需求说起。看近期的职…...
每日OJ题_算法_双指针⑦力扣15. 三数之和
目录 力扣15. 三数之和 解析代码 力扣15. 三数之和 难度 中等 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三…...

【计算机网络学习之路】日志和守护进程
文章目录 前言一. 日志介绍二. 简单日志1. 左字符串2. 右字符串 三. 守护进程1. ps -axj命令2. 会话扩展命令 3. 创建守护进程 结束语 前言 本系列文章是计算机网络学习的笔记,欢迎大佬们阅读,纠错,分享相关知识。希望可以与你共同进步。 本…...

foobar2000 突然无法正常输出DSD信号
之前一直在用foobar2000加外置dac听音乐,有一天突然发现听dsd的时候,dac面板显示输出的是PCM格式信号,而不是DSD信号,这让我觉得很奇怪,反复折腾了几次,卸载安装驱动什么的,依然如此,…...

鸿蒙HarmonyOS 编辑器 下载 安装
好 各位 之前的文章 注册并实名认证华为开发者账号 我们基实名注册了华为的开发者账号 我们可以访问官网 https://developer.harmonyos.com/cn/develop/deveco-studio 在这里 直接就有我们编辑器的下载按钮 我们直接点击立即下载 这里 我们根据自己的系统选择要下载的系统 例…...

机器学习第13天:模型性能评估指标
☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 文章目录 交叉验证 保留交叉验证 k-折交叉验证 留一交叉验证 混淆矩阵 精度与召回率 介绍 精度 召回率 区别 使用代码 偏差与方差 介绍 区…...
Elasticsearch基础优化
分片策略 分片和副本得设计为ES提供支付分布式和故障转移得特性,但不意味着分片和副本是可以无限分配, 而且索引得分片完成分配后由于索引得路由机制,不能重新修改分片数(副本数可以动态修改) 一个分片得底层为一个l…...

【Amazon】通过直接连接的方式导入 KubeSphere集群至KubeSphere主容器平台
文章目录 一、设置主集群方式一:使用 Web 控制台方式二:使用 Kubectl命令 二、在主集群中设置代理服务地址方式一:使用 Web 控制台方式二:使用 Kubectl命令 三、登录控制台验证四、准备成员集群方式一:使用 Web 控制台…...

三数之和问题
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 1&…...

【JavaEE】多线程 (2) --线程安全
目录 1. 观察线程不安全 2. 线程安全的概念 3. 线程不安全的原因 4. 解决之前的线程不安全问题 5. synchronized 关键字 - 监视器锁 monitor lock 5.1 synchronized 的特性 5.2 synchronized 使⽤⽰例 1. 观察线程不安全 package thread; public class ThreadDemo19 {p…...
关于点胶机那些事
总结一下点胶机技术要点: 1:不论多复杂的点胶机,简单点,可以简化为:1:运控 2:点胶,3:检测 运控的目的就是负责把针头移到面板对应的胶路上,点胶即就是排胶&…...

Python | CAP - 累积精度曲线分析案例
CAP通常被称为“累积精度曲线”,用于分类模型的性能评估。它有助于我们理解和总结分类模型的鲁棒性。为了直观地显示这一点,我们在图中绘制了三条不同的曲线: 一个随机的曲线(random)通过使用随机森林分类器获得的曲线…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...