选项1
导航二
导航三
导航四
TopNav.vue:
<img class=“showimg” :src=“collapsed?imgshow:imgsq” @click=“doToggle()”>
超级管理员
设置
个人中心
<el-menu-item @click=“exit()” index=“2-3”>退出
2、导入图片
3、配置组件
index.js:
// 在路由中定义
import Vue from ‘vue’
import Router from ‘vue-router’
import HelloWorld from ‘@/components/HelloWorld’
import Login from ‘@/views/Login’
import Reg from ‘@/views/Reg’
import AppMain from ‘@/components/AppMain’
import LeftNav from ‘@/components/LeftNav’
import TopNav from ‘@/components/TopNav’
Vue.use(Router)
export default new Router({
routes: [
{
path: ‘/’,
name: ‘Login’,
component: Login
},
{
path: ‘/Login’,
name: ‘Login’,
component: Login
},
{
path: ‘/Reg’,
name: ‘Reg’,
component: Reg
},
{
path: ‘/AppMain’,
name: ‘AppMain’,
component: AppMain,
children:[
{
path: ‘/LeftNav’,
name: ‘LeftNav’,
component: LeftNav
},
{
path: ‘/TopNav’,
name: ‘TopNav’,
component: TopNav
}
]
}
]
})
4、登录跳转界面
Login.js文件中添加登陆成功后的界面的跳转:
this.$router.push({path:‘/AppMain’});
5、定义变量,注册组件
AppMain:
Main
// 导入组件
import TopNav from ‘@/components/TopNav.vue’
import LeftNav from ‘@/components/LeftNav.vue’
// 导出模块
**export default {
data(){
return {
asideClass:‘main-aside’
}
},
// 注册组件
components:{
TopNav,LeftNav
}
};**
.main-container {
height: 100%;
width: 100%;
box-sizing: border-box;
}
/* 折叠 */
.main-aside-collapsed {
/* 在CSS中,通过对某一样式声明! important ,可以更改默认的CSS样式优先级规则,使该条样式属性声明具有最高优先级 */
width: 64px !important;
height: 100%;
background-color: #334157;
margin: 0px;
}
/* 不折叠 */
.main-aside {
width: 240px !important;
height: 100%;
background-color: #334157;
margin: 0px;
}
.main-header,
.main-center {
padding: 0px;
border-left: 2px solid #333;
}
topNav:定义变量
**
export default {
data(){
return{
collapsed:false,
// 不折叠时需显示的图片
imgshow:require(‘@/assets/img/show.png’),
imgsq:require(‘@/assets/img/sq.png’)
}
}
}**
LeftNav:记得将不用的因素清掉
**<el-menu default-active=“2” class=“el-menu-vertical-demo” background-color=“#334157”
text-color=“#fff” active-text-color=“#ffd04b” :collapse=“collapsed”>**
导航一
分组一
选项1
选项2
选项3
选项4
选项1
导航二
导航三
导航四
**
export default {
data(){
return{
collapsed:false
}
}
}
**
.el-menu-vertical-demo:not(.el-menu–collapse) {
width: 240px;
min-height: 400px;
}
.el-menu-vertical-demo:not(.el-menu–collapse) {
border: none;
text-align: left;
}
.el-menu-item-group__title {
padding: 0px;
}
.el-menu-bg {
background-color: #1f2d3d !important;
}
.el-menu {
border: none;
}
.logobox {
height: 40px;
line-height: 40px;
color: #9d9d9d;
font-size: 20px;
text-align: center;
padding: 20px 0px;
}
.logoimg {
height: 40px;
}
呈现结果:
6、完成点击左上角进行收缩
①、定义主线:main.js
new Vue({
el: ‘#app’,
data(){
**return{
// 定义主线
Bus:new Vue({
})
}**
},
router,
components: { App },
template: ‘’
})
②、图片切换,定义点击事件
TopNav:
export default {
data(){
return{
collapsed:false,
// 不折叠时需显示的图片
imgshow:require(‘@/assets/img/show.png’),
imgsq:require(‘@/assets/img/sq.png’)
}
},
methods:{
doToggle(){
this.collapsed=!this.collapsed;
}
}
}
注册事件:TopNav
export default {
data(){
return{
collapsed:false,
// 不折叠时需显示的图片
imgshow:require(‘@/assets/img/show.png’),
imgsq:require(‘@/assets/img/sq.png’)
}
},
methods:{
doToggle(){
this.collapsed=!this.collapsed;
this. r o o t . B u s . root.Bus. root.Bus.emit(“collapsed-aside”,this.collapsed);
}
}
}
监听:LeftNav
export default {
data(){
return{
collapsed:false
}
},
**// 组件被访问时触发,v指的是折叠的变量
created(){
this. r o o t . B u s . root.Bus. root.Bus.on(“collapsed-aside”,(v)=>{
this.collapsed=v;
});
}**
}
AppMain:
// 导入组件
import TopNav from ‘@/components/TopNav.vue’
import LeftNav from ‘@/components/LeftNav.vue’
// 导出模块
export default {
data(){
return {
asideClass:‘main-aside’
}
},
// 注册组件
components:{
TopNav,LeftNav
},
**// 组件被访问时触发,v指的是折叠的变量
created(){
this. r o o t . B u s . root.Bus. root.Bus.on(“collapsed-aside”,(v)=>{
this.asideClass=v ? 'main-aside-collapsed ’ : ‘main-aside’;
});
}**
};
效果:
三、退出功能
退出的点击方法:TopNav
export default {
data(){
return{
collapsed:false,
// 不折叠时需显示的图片
imgshow:require(‘@/assets/img/show.png’),
imgsq:require(‘@/assets/img/sq.png’)
}
},
methods:{
doToggle(){
this.collapsed=!this.collapsed;
this. r o o t . B u s . root.Bus. root.Bus.emit(“collapsed-aside”,this.collapsed);
},
exit(){
this.$router.push({path:‘/Login’});
}
}
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://img-blog.csdnimg.cn/img_convert/d52481249ca8d8e28c66cf5be40c5bd4.jpeg)
最后
这份《“java高分面试指南”-25分类227页1000+题50w+字解析》同样可分享给有需要的朋友,感兴趣的伙伴们可挑战一下自我,在不看答案解析的情况,测试测试自己的解题水平,这样也能达到事半功倍的效果!(好东西要大家一起看才香)
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
0,color_FFFFFF,t_70,g_se,x_16)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。[外链图片转存中…(img-XNLrp6yD-1713289651706)]
[外链图片转存中…(img-cF73zD2u-1713289651706)]
[外链图片转存中…(img-YZjwCRnB-1713289651707)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://img-blog.csdnimg.cn/img_convert/d52481249ca8d8e28c66cf5be40c5bd4.jpeg)
最后
这份《“java高分面试指南”-25分类227页1000+题50w+字解析》同样可分享给有需要的朋友,感兴趣的伙伴们可挑战一下自我,在不看答案解析的情况,测试测试自己的解题水平,这样也能达到事半功倍的效果!(好东西要大家一起看才香)
[外链图片转存中…(img-e6UaNDqw-1713289651707)]
[外链图片转存中…(img-L3646Qst-1713289651707)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!