vue 手机端路由切换滑动_vue移动端router-view嵌套实现底部导航切换

本文介绍了如何在Vue项目中结合vue-router和vue-ydui实现手机端的路由滑动切换效果,通过组件嵌套设置子路由,并在主界面监听路由变化来更新底部导航的选中状态。主要包括登录、主界面(包含首页、办事大厅和个人中心三个子页面)的代码实现。
摘要由CSDN通过智能技术生成

路由使用 vue-router

组件库使用 vue-ydui

效果图:

登录.png

主界面-首页.png

主界面-办事大厅.png

项目结构

图片.png

大体流程

图片.png

路由代码

import Vue from 'vue'

import Router from 'vue-router'

import home from '../page/home'

import office from '../page/office'

import mine from '../page/mine'

import mainPage from '../page/mainPage'

import loginPage from '../page/loginPage'

Vue.use(Router)

export default new Router({

routes: [

{

path: '/',

component: loginPage

},

{

path: '/mainPage',

redirect: 'home',//子路由默认加载第一个界面

component: mainPage,

children: [{//子路由

path: '/home',

component: home

},

{

path: '/office',

component: office

},

{

path: '/mine',

component: mine

}

]

},

]

})

登录界面loginPage

登录

export default {

name: "login-page",

data(){

return{

loginInfo:{

userNub:'',

password:'',

}

}

},

methods:{

login(){

this.$router.push({ path: '/mainPage'});

}

}

}

主界面mainPage

export default {

name: "mainPage",

data(){

return{

tabbar:[{

title:"首页",

link:"/home",

active:true,

icon:"home-outline",

},

{

title:"办事大厅",

link:"/office",

active:false,

icon:"shopcart-outline",

},

{

title:"个人中心",

link:"/mine",

active:false,

icon:"ucenter",

}

]

}

},

//监听路由变化切换tab

watch:{

$route(to,from){

for(let i=0;i

if(this.tabbar[i].link===to.path){

this.tabbar[i].active=true;

}else{

this.tabbar[i].active=false;

}

}

}

},

}

office办事大厅 代码

export default {

name: "test-a"

}

其他略。。。,有问题欢迎讨论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值