0
点赞
收藏
分享

微信扫一扫

JavaScript 基础详解

天使魔鬼 2024-09-05 阅读 15
前端vue.js

1、封装使用

在项目中的 Store 文件夹下创建 modules 文件夹 getters.js index.js  然后如下:

 modules 文件夹下创建 一个 index.js 文件 存放需要的功能方法

// 写一个简单的菜单切换,获取当前点击菜单的索引
const Index = {
    state: {
        menuIndex: 0,
    },
    actions: {
        
    },
    mutations: {
        onChange(state, value) {
            state.menuIndex= value;
        }
    }
  };
  
  export default Index ;
  

在 getters.js  中引入 上边的js文件,如下:

const getters = {
  // 引入菜单切换的方法
  menuIndex: state => state.index.menuIndex,
  
};
export default getters;

在 index.js 中引入使用

import { createStore } from 'vuex';
import aio from './modules/index';
import getters from './getters';

const store = createStore({
  modules: {
    index,
  },
  getters,
});

export default store;

点击菜单时更新存放的索引值:

methods: {
    onLeftMenu(index){
        this.$store.commit('onChange',index)
     },
},

最后在其他地方引入使用最新的索引:

<template>
    <div id="footer-menu">
        <div>{{ menuIndex }}</div>
    </div>
</template>
<script>
import { mapGetters } from 'vuex';
export default {
    data(){
        return{
            
        }
    },
    computed: {
        ...mapGetters(['menuIndex']),
    },
    watch: {
        // 监听数据的变化(此处用于切换菜单获取索引)
        leftMenuIndex(newValue, oldValue) {
            console.log(newValue);
        }
    },
}
</script>

2、非封装使用

在项目中的 Store 文件夹下创建  index.js  然后如下:

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    menuIndex: 0, // 菜单索引
  },
  getters: {
  },
  mutations: {
    onChange(state, value) {
       state.menuIndex= value;
    }
  },
  actions: {
  },
  modules: {
  }
})

至此完成!!!

测试有效!!!感谢支持!!!

举报

相关推荐

0 条评论