vuex控制动态组件

 动态组件component标签

<component :is="LoginComponent"></component>

import { mapGetters } from 'vuex';
import LoginIndex from '@/views/login/LoginIndex.vue';
import ResetIndex from '@/views/login/ResetIndex.vue';
import ResetSuc from '@/views/login/ResetSuc.vue';
import FirstReset from '@/views/login/FirstReset.vue';

export default {
 
  components: {
    LoginIndex,
    ResetIndex,
    ResetSuc,
    FirstReset
  },

  computed: {
    ...mapGetters(['LoginComponent'])
  }
}

//任何改变LoginComponent的值,调用vuex里的方法
this.$store.commit('user/SET_LOGINCOMPONENT', 'ResetSuc');

 store/modules/user.js文件 部分代码

//store/modules/user.js
const state = {
  LoginComponent: 'LoginIndex',
}

const mutations = {

  SET_LOGINCOMPONENT(state, payload) {

    state.LoginComponent = payload;

  },

}
export default {
  namespaced: true,
  state,
  mutations,
  actions
};

store/getter.js  部分代码

//store/getter.js
const getters = {
  LoginComponent: state => state.user.LoginComponent,
}
export default getters;

store/index.js 部分代码

//store/index.js

import getters from './getters';
import user from './modules/user';

const store = new Vuex.Store({
  modules: {
    user,
  },
  getters
});

export default store;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值