vuex的核心概念和基本使用是怎么样的
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,vuex的核心概念和基本使用是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。介绍Vuex是实现组件全局状态(数据)管理的一种机制
千家信息网最后更新 2025年11月10日vuex的核心概念和基本使用是怎么样的安装
①直接下载方式
NPM方式安装的使用方式
vuex的核心概念和基本使用是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
介绍
Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享
开始
安装
①直接下载方式
创建一个 vuex.js 文件 将https://unpkg.com/vuex这个网址里的内容放到该文件夹里。
②CND方式
③NPM方式
npm install vuex --save
④Yarn方式
yarn add vuex
NPM方式安装的使用方式
1.在 scr 文件里创建一个 store / index.js 的文件夹,写入以下内容。
import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({state: {},mutations: {},actions: {},modules: {}})2.在main.js 里引入,然后挂载到 Vue 实例里
import Vue from 'vue'import store from './store'new Vue({ render: h => h(App), store}).$mount('#app')store概念及使用
概念:
就是组件之间共享数据的。
只有 mutations 才能修改 store 中的数据
使用:
先定义后使用
定义
state: { num: 0}使用
方式1(推荐)
{{ numAlias }}import { mapState } from 'vuex'export default { //计算函数 computed: mapState({ // 传字符串参数 'count' 等同于 `state => state.count` numAlias: 'num',//常用key是自己起的名随便 value接收的数据 // 箭头函数可使代码更简练 count: state => state.count, // 为了能够使用 `this` 获取局部状态,必须使用常规函数 countPlusLocalState (state) { return state.count + this.localCount } //可以定义其余的计算函数 }), //或者这样 //计算函数 computed: { mapState(['count']) }}
方式2
{{ $store.state.count }}
mutations概念及使用
概念:
修改store里的数据,严格规定不能在其余的地方修改store的数据,mutations里不要执行异步操作。
mutation 必须同步执行,不能异步执行。
使用:
先定义方法后使用
定义
mutations: { //increment自定义方法 store参数是store数据, parameter参数是接收到的数据,可不要 increment (state, parameter) { // 变更状态 state.num++ }}使用
方式1(推荐使用)
import { mapState, mapMutations } from 'vuex'//方法methods: { ...mapMutations([ // mutations自定义的方法名 'increment' ]), love() { // 直接this调用 this.increment('需要传过去的数据,可不要') this.increment('Bin') }}方式2
methods: { love() { // this.$store.commit('自定义的名称', '传过去的数据,可不传') this.$store.commit('increment', 'data') }}action概念及使用
概念:
用于处理异步操作。
如果通过异步操作变更数据,必须通过action,而不能使用mutation,但是在action中还是要通过触发mutation的方式间接变更数据。
Action 类似于 mutation,不同在于:
Action 提交的是 mutation,而不是直接变更数据(状态)。
Action 可以包含任意异步操作。
定义
mutations: { //increment自定义方法 store参数是store数据, parameter参数是接收到的数据,可不要 increment (state, parameter) { // 变更状态 state.num++ }},actions: { //add 自定义方法 context是参数,可以把它当作vuex的实例 add(context) { //可以通过context.commit('mutations中需要调用的方法') context.commit('increment') }}使用
方式1(推荐)
import { mapState, mapMutations, mapActions } from 'vuex'export default { methods: { ...mapActions([ 'add', // 将 `this.add()` 映射为 `this.$store.dispatch('add')` // `mapActions` 也支持载荷: 'add' // 将 `this.add(amount)` 映射为 `this.$store.dispatch('add', amount)` ]), ...mapActions({ add: 'add' // 将 `this.add()` 映射为 `this.$store.dispatch('increment')` }), love() { // 直接this调用 this.add('需要传过去的数据,可不要') this.add(data) } }}方式2
methods: { love() { // this.$store.dispatch('自定义的名称', '传过去的数据,可不传') this.$store.dispatch('add', data) }}getters概念及使用
概念:
getter用于对store中的数据进行加工处理形成新的数据。getting可以对store中已有的数据加工处理之后形成新的数据,类似Vue的计算缩写。
定义
state: { num: 0},getters: { doneTodos: state => { return state.num = 10 }}使用
方式1(推荐)
{{ doneTodos }}import { mapState, mapMutations, mapActions, mapGetters } from 'vuex'export default { //计算函数 computed: { ...mapState(['count']), ...mapmapGetters(['doneTodos']) }}
方式2
{{ $store.getters.doneTodos }}
看完上述内容,你们掌握vuex的核心概念和基本使用是怎么样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
数据
方式
方法
概念
可不
函数
参数
状态
内容
文件
推荐
组件
处理
核心
之间
名称
实例
文件夹
更多
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
想天软件开发
.rg文件如何还原数据库
网络技术岗位工资
caxa数据库选哪个
北京乐到网络技术有限公司
网络安全模式连不联网
网络安全专业的应用
未来网络安全股票龙头
plsql怎么登录远程服务器
网络安全生产演讲稿
无锡网络技术服务费
东莞微粒互联网科技
数据库 矢量图
电视显示连不上服务器是啥意思
魔兽怀旧服各服务器升级
ajax 删除数据库
东南大学网络安全研究生方向
玩网易我的世界电脑版服务器
二调测量数据库是什么格式
服务器电源适配器故障
深度学习训练需要服务器吗
海鸣馆数据库电影
服务器安全免责协议
怎么修改电脑代理服务器
数据服务器了解失败
什么专业可以从事软件开发
万方查重数据库没有学位论文吗
第三方软件开发哪家好
维基百科分类数据库
艾尔登法环突然服务器