SPA项目开发之首页导航+左侧菜单(1)

选项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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

这份《“java高分面试指南”-25分类227页1000+题50w+字解析》同样可分享给有需要的朋友,感兴趣的伙伴们可挑战一下自我,在不看答案解析的情况,测试测试自己的解题水平,这样也能达到事半功倍的效果!(好东西要大家一起看才香)

image

image

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
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

最后

这份《“java高分面试指南”-25分类227页1000+题50w+字解析》同样可分享给有需要的朋友,感兴趣的伙伴们可挑战一下自我,在不看答案解析的情况,测试测试自己的解题水平,这样也能达到事半功倍的效果!(好东西要大家一起看才香)

[外链图片转存中…(img-e6UaNDqw-1713289651707)]

[外链图片转存中…(img-L3646Qst-1713289651707)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值