码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • vue3对vuex的使用(对比vue2)


    Ⅰ.导入

     npm  i  vuex   --save
     ---------------------------
     import  Vuex  from  'vuex'
     Vue.use(Vuex);
    
    • 1
    • 2
    • 3
    • 4

    注意:

    版本vuex
    vue2要用vuex 3 版本
    vue3要用vuex 4 版本

    Ⅱ.vue 3 使用 vuex

    创建store仓库: /store/index.js

    import { createStore } from 'vuex';
    export default createStore({
    state: {name: 123 },
    mutations:{    getname(state,newVal){this.state.name=newVal;}  }, 
    //同步方法:(只有mutations才能改state的值)
    actions:{   getnameAsync(){ ... }     },  //异步方法
    geeter:{},  //相当于计算属性
    modules: {}  //将vuex分块
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    简单使用:

    import {useStore} from 'vuex'
    export default {
    	setup(){
    		const store  = useStore();
    		console.log(store.state.name);    //获取
    		store.commit("getname", 12345);  //修改
    		store.dispatch("getnameAsync", 12345);  //修改
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    Ⅲ.vue 2 使用 vuex

    创建store仓库: /store/index.js

    export default  new  Vuex.Store({
    state:{count :  0},           //存储变量                                         
    mutations: {add(state,step){  state.conut+=step; }},   //存储方法
    actions: {addAsync(){...},//异步操作
    geeter:{},  //相当于计算属性
    modules: {}
    }), 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    vue2使用vuex的方法有2种写法:
    第一种 : ( 通过this.$store获取 )

     this.$store.state.变量名
     this.$store.commit('add',1);
     this.$store.dispatch('addAsync',1);
    
    • 1
    • 2
    • 3

    第二种 : ( 直接解构出来 ,可以省去this.$store )

     import {mapState,mapMutations,mapActions} from 'vuex';    
     computed:{...mapState(['conut']);}    --->  count  可以直接使用{{conut}}
     methods:{
     	       ...mapMutations(['add']),    ---> button   可以直接使用 @onclick = add(1)
     	       ...mapActions(['addAsync']), ---> button   可以直接使用 @onclick = addAsync()
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    如果vue3觉得使用麻烦的话,可以试试更好用的 pinia 点击这里

  • 相关阅读:
    Linux系统编程_线程:线程、互斥量、条件变量
    PMP备考大全:经典题库(8月第1、2周)
    EV代码签名申请步骤
    重装系统后电脑图片显示不出来怎么办
    C/C++数据结构——经商(并查集动规)
    《Vue.js 3移动应用开发实战》简介
    常用网络编程函数
    【JAVA学习笔记】43 - 枚举类
    如何确认linux的包管理器是yum还是apt,确认之后安装其他程序的时候就需要注意安装命令
    Cloud Flare 添加谷歌镜像站(反向代理)
  • 原文地址:https://blog.csdn.net/weixin_42232622/article/details/125451861
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号