首页 > 其他分享 >vue3中使用vuex

vue3中使用vuex

时间:2022-12-27 12:01:51浏览次数:43  
标签:const vuex vue3 userStore state 使用 useStore store

一、使用习惯1(模块化):

1、文件目录:

2、userStore.ts

import { Module } from 'vuex';
// import {setStorage,getStorage} from "../../util/common";

export default {
  namespaced: true,
  state: {
    userInfo: { }
  },
  getters: {
    // 类似计算属性,必需return
    handleUserInfo: (state) => {
        return state.userInfo.age = 20;
    }
  },
  actions: {
    // 异步过程,调用mutations中方法改变state
    asyncUpdateUserInfo(store, newData) { // 第一个参数是vuex固定的参数,不需要手动去传递
    store.commit("updateUserInfo", newData)
  },
  },
  mutations: {
    // 改变state
    updateUserInfo(state, newData: { }) {
      state.menuList = newData;
    }
  }
} as Module<any, any>;

3、vue文件中使用

(1)state(使用数据)

<template>{{ userInfo.name }}</template>

import { useStore } from 'vuex';
const store = useStore();
const { userInfo } = toRefs(store.state.userStore);

(2)mutations(常规改变数据状态)=> commit -> mutations

import { useStore } from "vuex"

const store = useStore()

const changeStoreUserInfo = () => {
  store.commit("userStore/updateUserInfo", {name: '小明'})
}

 (3)actions(异步改变数据状态)=> dispach -> mutations

import { useStore } from "vuex"

const store = useStore()

const asyncChangeStore = () => {
   setTimeout(() => {
   store.dispatch("userStore/asyncUpdateUserInfo", {name: '小李'})
}, 1000)

 (4)getters(类似计算属性,需return)

如文件 2、userStore.ts 中 getters。

 

二、使用习惯2(无模块化):

文件目录

 

标签:const,vuex,vue3,userStore,state,使用,useStore,store
From: https://www.cnblogs.com/suihung/p/17007758.html

相关文章

  • 【INDEX】使用“alter index ××× monitoring usage;”语句监控索引使用与否
    随着时间的累积,在没有很好的规划的情况下,​​数据库​​​中也许会存在大量长期不被使用的索引,如果快速的定位这些索引以便清理便摆在案头。我们可以使用“alter ​​index......
  • vue3_02ref操作简单类型
    vue3中提供了ref()函数可以把数据转换为响应式数据。<template><div>{{num}}</div><button@click="add">这是按钮</button></template><sc......
  • 使用kubeadm搭建多节点k8s集群(chrono《kubernetes入门实战课》笔记整理)
     通过使用minikube,做完了k8s的基础学习和练习,今天开始,使用kubeadm,来搭建更复杂更贴合实际工作的k8s集群。 【集群架构】  多节点集群,应该有大于等于2台node,实验......
  • yolo5使用gpu时遇到的问题记录
    一、问题描述:1、训练的时候提示不支持gpu2、使用如下命令检查为Falseimporttorchtorch.cuda.is_available()二、原因:pytorch版本的问题 三、解决办法: 重新安......
  • JNI Windows 使用教程
    1,先把c语言的编译环境搭建好,windows下这里使用mingw1,mingw具体配置配置环境变量:                         打开:“我的电脑->属性->高级->......
  • 使用面向 iOS 的本机插件扩展 PhoneGap
    本文细致探讨了Xcode(以iOS设备为目标)中的PhoneGap(也称为ApacheCordova)应用程序本机插件。如果您刚开始接触PhoneGap或者需要回顾PhoneGap基础知识,请先阅读 ​​......
  • word vba 操作表格, 使用vba设置表格的行
    介绍使用vba语句操作word中的表格。本文讲解word中使用vba来操作表格的行主要为:使用vba设置word中的表格行,增加行、删除行、设置行高、设置跨页断行、设置重复标题行、设......
  • Vue3之setup的两个注意点
    setup的两个注意点setup执行的时机在beforeCreate之前执行一次,this是undefined。setup的参数props:值为对象,包含:组件外部传递过来,且组件内部声明接收了的属性。......
  • C语言中使用数学函数
    C语言中使用数学函数,例如:exp等1、包含头文件#include<math.h>2、编辑源码testExp.c,例如:#include<stdio.h>#include<math.h>intmain(){doublem=4......
  • OpenHarmony使用Stage模型和FA模型开发分布式应用时的差别
    前言笔者这两个月一直在折腾分布式应用,并且分别基于API8的FA模型以及API9的Stage模型进行了开发,这两天总算是基本开发完了,闲下来总结下这两者的区别,顺便跟大家唠唠开发时踩......