实现多组件状态管理,多个组件之间需要数据共享

其中state和mutation是必须的,其他可根据需求来加
1.创建store实例并且导出 store.js
- import Vue from 'vue'
 - import Vuex from 'vuex'
 - Vue.use(Vuex)
 - const store = new Vuex.Store({
 - //声明state
 - state: {
 - userInfo:{ userName:"" }
 - },
 - //声明mutations
 - mutations: {
 - setUserInfo(state,userInfo){
 - state.userInfo = userInfo
 - }
 - },
 - //声明actions
 - actions: {
 - setUserInfo({ commit },userInfo){
 - commit('setUserInfo',userInfo)
 - }
 - },
 - //声明getters
 - getters:{
 - userName(state){
 - return "姓名:"+state.userInfo.userName
 - }
 - }
 - })
 - export default store
 
2.引入Vuex
- import Vue from 'vue'
 - import App from './App.vue'
 - import store from './store'
 - new Vue({
 - render: h => h(App),
 - store
 - }).$mount('#app')
 
使用方式一
{{$store.state.userInfo.userName}}
{{$store.getters.userName}}
存储信息
- export default {
 - methods: {
 - setInfo(){
 - this.$store.commit('setUserInfo',{
 - userName:"鬼鬼"
 - })
 - }
 - }
 - }
 
使用方式二
{{userInfo.userName}}
{{userName}}
存储信息
- import { mapState, mapGetters, mapMutations, mapActions } from 'vuex'
 - export default {
 - methods: {
 - ...mapActions(['setUserInfo']),
 - // ...mapMutations(["setUserInfo"]),
 - setInfo(){
 - this.setUserInfo({
 - userName:"鬼鬼"
 - })
 - },
 - computed: {
 - ...mapState({
 - userInfo: state => state.userInfo
 - }),
 - ...mapGetters(['userName']),
 - }
 - }
 
本文转载自微信公众号「前端人」,作者鬼哥。转载本文请联系前端人公众号。
                文章名称:我们一起看看Vuex使用流程是什么样的?
                
                网页路径:http://www.csdahua.cn/qtweb/news8/451158.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网