您的位置:首页 > 文旅 > 旅游 > 中国制造网是干什么的_中国建筑信息资讯网_媒体邀约_免费创建自己的网站

中国制造网是干什么的_中国建筑信息资讯网_媒体邀约_免费创建自己的网站

2025/2/27 5:46:43 来源:https://blog.csdn.net/m0_69773916/article/details/145826169  浏览:    关键词:中国制造网是干什么的_中国建筑信息资讯网_媒体邀约_免费创建自己的网站
中国制造网是干什么的_中国建筑信息资讯网_媒体邀约_免费创建自己的网站

Vuex介绍

状态管理

每一个Vuex应用的核心都是一个store,与普通的全局对象不同的是,基于Vue数据与视图绑定的特点,当store中的状态发生变化时,与之绑定的视图也会被重新渲染。

store中的状态不允许被直接修改,改变store中的状态的唯一途径就是显示地提交,这可以让我们方便地跟踪每一个状态的变化。

在大型复杂应用中,如果无法有效地跟踪到状态的变化,将会对理解和维护代码带来极大的困难。

Vuex中有5个重要的概念:State,Getter,Mutation,Action,Module

State用于维护所有应用层的状态,并确保应用只有唯一的数据源.Mutation提供修改State状态的方法

//创建一个新的store实例

const store = createStore({

        state (){

                return {

                        count: 0

                }

        },

        mutations:{

                increment(state){

                        state.count++

                }

        }

})

 在组件中,可以直接使用this.$store.state.count访问数据,也可先用mapState辅助函数将其映射下来。

//单独构建的版本中辅助函数为Vuex.mapState

import { mapState } from 'vuex'

export default{

        coputed: mapState({

                count:state => state.count.

                countAlias: 'count',

                countPlusLocalState(state){

                       return state.count+this.localCount 

                }

        })

}

Mutation同步操作

在组件中,可以直接使用store.commit来提交mutation

method:{increment(){this.$store.commit('increment')console.log(this.$store.state.count)}
}

 也可以先用mapMutation辅助函数将其映射下来

methods: {...mapMutations(['increment','incrementBy'])
},

Getter维护由State派生的一些状态,这些状态随着State状态的变化而变化

Action

类似于Mutation,适合做异步操作

Action不能直接修改状态,只能通过提交mutation来修改

const store = createStore({state: {count: 0},mutations: {increment(state){state++}},actions: {increment(context){context.commit('increment')}}})

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com