1、操作vuex
store>index.js下添加
export default createStore ({
state: {
menu: []
},
mutations: {
setMenu (state,val) {
state.menu = val
localStorage.setItem('menu', JSON.stringify(val))//持久化
}
}
})
2、提交
定义useStore
import { useStore } from 'vuex';
export default {
setup() {
const store = useStore()
const login = async () => {
store.commit('setMenu',res.menu);//res.menu通过store.commit提交到setMenu
};
},
}
3、路由跳转
定义useRouter
import { useRouter } from 'vue-router'
export default {
setup() {
const router = useRouter()
const login = async () => {
router.push ({//路由的跳转
name: "home",
});
};
},
}
4、替换
CommonAside.vue下 list 值替换成 asyncList
const noChildren = ()=>{
return asyncList.filter((item) => !item.children);
};
const hasChildren = ()=>{
return asyncList.filter((item) => item.children);
};
const asyncList = store.state.menu //新增的asyncList