詳細ページに入ると、下部のナビゲーションバーは表示されません

モバイルプロジェクトを作成する場合、通常の状況では、第1レベルのページには下部のナビゲーションが必要であるため、一部のページでは下部のナビゲーションは必要ありません。たとえば、詳細ページには下部のナビゲーションは必要ありません。

ルーティング要素(メタ)を使用してパラメーターを設定します。
最初に下部にナビゲーションバー
を作成します。conponentsフォルダーの下にTabbar.vueを作成します。vantのTabbarコンポーネントを使用します。

<div class="tabbar">
    <van-tabbar v-model="active" :placeholder="true" safe-area-inset-bottom route>
        <van-tabbar-item icon="home-o" to="/label1">标签1</van-tabbar-item>
        <van-tabbar-item icon="search" to="/label2">标签2</van-tabbar-item>
        <van-tabbar-item icon="friends-o" to="/label3">标签3</van-tabbar-item>
        <van-tabbar-item icon="setting-o" to="/label4">标签4</van-tabbar-item>
    </van-tabbar>
</div>

二。
ルーティング構成でメタパラメータ
TabbarShowを設定すると、ページに下部のナビゲーションバーを表示する必要があるかどうかを制御できます。

import Vue from'vue '
import Router from'vue-router'

Vue.use(ルーター);

デフォルトの新しいルーターをエクスポートします({

routes: [
    {
        path: '/label1',
        name: 'Label1',
        component: resolve => require(['@/components/label1'], resolve),
        meta: {
            TabbarShow: true // 需要显示 底部导航
        }
    },
    {
        path: '/label2',
        name: 'Label2',
        component: resolve => require(['@/components/label2'], resolve),
        meta: {
            TabbarShow: false // 不需要显示 底部导航
        }
    },
    {
        path: '/label3',
        name: 'Label3',
        component: resolve => require(['@/components/label3'], resolve),
        meta: {
            TabbarShow: true // 需要显示 底部导航
        }
    },
    {
        path: '/label4',
        name: 'Label4',
        component: resolve => require(['@/components/label4'], resolve),
        meta: {
            TabbarShow: false // 不需要显示 底部导航
        }
    }
]

})

App.vueに書き込む

<div id="app">
    <!--路由出口-->
    <router-view></router-view>

    <!--引入底部导航组件 利用路由里面设置的meta参数来控制其显示-->
    <Tabbar v-if="$route.meta.TabbarShow"></Tabbar>
</div>

</// script>
「./ components / Tabbar」からタブバーをインポートします。

export default {
    name: 'App',
    components: {
        Tabbar
    },
    data() {
        return {}
    },
}

ウォッチを使用してナビゲーションスイッチを監視し、
App.vueのナビゲーションバーの有無を制御します

<div id="app">
    <!--路由出口-->
    <router-view></router-view>

    <!--引入底部导航组件 利用路由里面设置的meta参数来控制其显示-->
    <!--<Tabbar v-if="$route.meta.TabbarShow"></Tabbar>-->

    <Tabbar v-if="show"></Tabbar>

</div>

</ script>
「./ components / Tabbar」からタブバーをインポートします。

export default {
    name: 'App',
    components: {
        Tabbar
    },
    data() {
        return {
            show: true // 控制Tabbar组件的显隐状态
        }
    },
    watch: { // 监听路由变化  跳转到Label2  和 Label4页面就隐藏导航栏
        $route (to) {
           if (to.name === 'Label2' || to.name === 'Label4' ) {
               this.show = false
           }
        }
    },
}

参照リンク:
https //blog.csdn.net/weixin_37680021/article/details/105664303?ops_request_misc =%257B%2522request%255Fid%2522%253A%2522160143443119724848300520%2522%252C%2522scm%2522%253A%252220140713.130102334.pc% 255Fall。%2522%257D&request_id = 160143443119724848300520&biz_id = 0&utm_medium = distribution.pc_search_result.none-task-blog-2 all first_rank_v2〜rank_v28-1-105664303.pc_first_rank_v2_rank_v8&utm_term = vue%A8%83BA%AD %BC%E8%88%AA%E4%B8%8D%E6%83%B3%E5%9C%A8%E8%AF%A6%E6%83%85%E9%A1%B5%E6%98%BE %E7%A4%BA%E6%80%8E%E4%B9%88%E5%8A%9E&spm = 1018.2118.3001.4187#学習目標:

ヒント:ここで学習目標を追加できます。
例:1週間でJava入門知識を習得する


学習内容:

ヒント:ここで学習するコンテンツを追加できます。
例:
1。Java開発環境を構築します。2。Java
の基本的な文法を
習得します。3
条件文を習得します。4。ループ文を習得します。


勉強の時間:

ヒント:ここに予定されている学習時間を追加できます。
例:
1。月曜日から金曜日の午後7時から
午後9時2.土曜日の午前9時から午前11時
3、日曜日の午後3時から午後6


学習出力:

ヒント:ここでは、学習計画の総数がカウントされます。
例:
1。テクニカルノート2回
2.CSDNテクニカルブログ3記事3.vlog
ビデオの学習1

おすすめ

転載: blog.csdn.net/Aa__Ki/article/details/108882063