vue布局中怎么引用参数_vue 在移动端怎么使用公共布局

在移动端一般都是 navbar + main + tabbar 这种布局,怎么把navbar 和 tabbar 实现公用

目前我的做法是直接在 App.vue 里面使用 navbar 和 tabbar 组件,然后通过路由的 meta 信息来控制显示隐藏

export default {

computed: {

navbarVisible() {

const { meta } = this.$route

return meta && meta.navbarVisible

},

tabbarVisible() {

const { meta } = this.$route

return meta && meta.tabbarVisible

}

}

}

路由配置:

const routes = [

{

path: '/home',

component: () => import('@/views/home'),

meta: {

navbarVisible: true,

tabbarVisible: true

}

}

]

其他的方法

1、封装一个 layout 组件,通过插槽嵌入 main 内容区域,然后navbar 和 tabbar 通过 props 来控制,layout.vue 大概如下

export default {

props: {

navbarVisible: {

type: Boolean,

default: true

},

tabbarVisible: {

type: Boolean,

default: true

}

}

}

使用 layout 组件:

这里是内容

2、通过嵌套路由,layout 组件

路由配置:

import Layout from '@/layouts/layout'

const routes = [

{

path: '/home',

component: Layout,

children: [

path: '',

component: () => import('@/views/home')

]

}

]

这样通过嵌套路由用不同的布局组件,也可以实现

大家都是用的哪种啊,还是说有更好的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值