vue 右边跳转 实现左侧栏_vue.js实现左边导航切换右边内容

本文实例为大家分享了vue.js左边导航切换右边内容的具体代码,供大家参考,具体内容如下

import YFooter from '/common/footer'

import YHeader from '/common/header'

export default {

data () {

return {

show: true,

title: '学院介绍',

nav: [

{name: '学院介绍',

isActive: false,

secondNav: true, // 是否存在二级菜单,true为存在

// path: 'background',

navSecond: [

{name: '创建背景', path: 'background'},

{name: '创建单位', path: 'unit'},

{name: '创建目的'},

{name: '管理单位'},

{name: '运行主体'}

]

},

{name: '关于我们', path: 'aboutMe', isActive: false, secondNav: false}

]

}

},

computed: {

},

methods: {

tabSecond (e) {

this.$router.push({path: '/college/' + e.path})

},

tabPrimary (e) {

let path = this.$route.path.split('/')[2]

if (e.secondNav) {

// this.show = !this.show

if (path === 'aboutMe') {

this.$router.push({path: '/college/' + e.navSecond[0].path})

}

} else {

this.$router.push({path: '/college/' + e.path})

}

}

},

created () {

let path = this.$route.path.split('/')[2]

this.nav.forEach(item => {

item.isActive = false

if (item.secondNav) {

item.navSecond.forEach(itemT => {

if (itemT.path === path) {

this.title = itemT.name

if (itemT.name === this.title) {

item.isActive = true // 当属于子菜单时,父菜单高亮

}

}

})

} else {

if (item.path === path) {

this.title = item.name

item.isActive = true

}

}

})

},

components: {

YFooter,

YHeader

},

watch: {

$route (to) {

let path = to.path.split('/')[2]

this.nav.forEach(item => {

item.isActive = false

if (item.secondNav) {

item.navSecond.forEach(itemT => {

if (itemT.path === path) {

this.title = itemT.name

if (itemT.name === this.title) {

item.isActive = true // 当属于子菜单时,父菜单高亮

}

}

})

} else {

if (item.path === path) {

this.title = item.name

item.isActive = true

}

}

})

}

}

}

@import "../../assets/style/mixin";

.main {

background: #fff;

color: #000;

}

a {

color: #000;

}

.w {

padding-top: 40px;

}

.img-code {

margin: 0px auto 12px;

}

.content {

display: flex;

height: 100%;

font-size: 16px;

}

.sidebar-bottom {

margin-top: 20px;

padding: 16px;

}

.content-center {

text-align: center;

}

.account-sidebar {

width: 210px;

border-radius: 6px;

.account-nav {

padding: 15px 0;

.active {

color: #0156AC;

}

.active a{

color: #0156AC;

}

li:hover {

a{

color: #0156AC;

}

}

li {

position: relative;

line-height: 48px;

.account-nav-primary {

padding: 0px 20px;

height: 48px;

span {

float: left;

}

i {

float: right;

line-height: 48px;

font-size: 14px;

}

}

.account-nav-second {

li {

list-style: disc;

list-style-position: inside;

height: 48px;

padding: 0 26px;

text-align: left;

color: #5B6976;

cursor: pointer;

span {

margin-left: -14px;

color: #A9B2BC;

}

&:hover{

color: #0156AC;

span {

color: #0156AC;

}

}

}

.active {

color: #0156AC;

span {

color: #0156AC;

}

}

}

a {

display: block;

}

&.current {

a {

position: relative;

z-index: 1;

height: 50px;

background-color: #98AFEE;

line-height: 50px;

color: #FFF;

}

}

}

}

}

.account-content {

margin-left: 24px;

flex: 1;

}

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值