Rumah hujung hadapan web uni-app Bagaimana untuk melaksanakan fungsi tersembunyi navigasi bawah dalam uniapp

Bagaimana untuk melaksanakan fungsi tersembunyi navigasi bawah dalam uniapp

Apr 18, 2023 pm 02:10 PM

Apabila menggunakan uniapp untuk membangunkan aplikasi mudah alih, kewujudan bar navigasi bawah boleh membantu pengguna menukar halaman dan fungsi dengan cepat, meningkatkan pengalaman pengguna dan kecekapan operasi. Walau bagaimanapun, dalam beberapa kes khas, kami mungkin perlu menyembunyikan bar navigasi bawah Artikel ini akan memperkenalkan cara menyembunyikan navigasi bawah dalam uniapp.

1. Penggunaan asas bar navigasi bawah

Bar navigasi bawah Uniapp dikonfigurasikan dalam fail pages.json, di mana kita boleh menetapkan gaya, ikon dan lompatan bar menu bawah Maklumat tentang halaman yang akan diubah hala. Berikut ialah kod contoh mudah:

{
  "pages":[
    {
      "path":"pages/index/index",
      "name":"index",
      "style":{
        "navigationBarTitleText":"首页"
      }
    },
    {
      "path":"pages/user/user",
      "name":"user",
      "style":{
        "navigationBarTitleText":"个人中心"
      }
    }
  ],
  "tabBar":{
    "color":"#666",
    "selectedColor":"#4285f4",
    "backgroundColor":"#ffffff",
    "list":[
      {
        "pagePath":"pages/index/index",
        "text":"首页",
        "iconPath":"static/img/tabbar/home.png",
        "selectedIconPath":"static/img/tabbar/home-selected.png"
      },
      {
        "pagePath":"pages/user/user",
        "text":"我的",
        "iconPath":"static/img/tabbar/user.png",
        "selectedIconPath":"static/img/tabbar/user-selected.png"
      }
    ]
  },
  "globalStyle":{
    "navigationBarBackgroundColor":"#fff",
    "navigationBarTextStyle":"black"
  }
}
Salin selepas log masuk

Dalam kod di atas, tatasusunan "halaman" digunakan untuk mengkonfigurasi semua maklumat halaman dan objek "tabBar" digunakan untuk mengkonfigurasi gaya dan maklumat lompat daripada bar menu bawah. Antaranya, setiap objek dalam tatasusunan "senarai" mewakili item menu bawah, termasuk "pagePath" (laluan halaman lompat), "teks" (teks item menu), "iconPath" (laluan ikon apabila tidak dipilih) dan "selectedIconPath" ” (laluan ikon apabila dipilih) dan atribut lain.

2. Cara menyembunyikan bar navigasi bawah

Dalam sesetengah senario, kita mungkin perlu menyembunyikan bar navigasi bawah untuk mencapai kesan interaktif khas atau paparan skrin penuh dan fungsi lain. Dalam uniapp, terdapat beberapa cara untuk menyembunyikan bar navigasi bawah:

  1. Gunakan maklumat meta vue-router

Anda boleh menetapkan halaman melalui maklumat meta vue-router Beberapa sifat istimewa, seperti sama ada untuk menyembunyikan bar navigasi bawah. Apabila mengkonfigurasi vue-router dalam pages.json, anda boleh menambah medan meta, menambah maklumat yang diperlukan dalam meta dan menggunakan ini.$route.meta.xxx dalam komponen halaman untuk mendapatkannya.

{
  "pages": [
    {
      "path": "pages/index/index",
      "name": "index",
      "meta": {
        "showTabbar": true
      }
    },
    {
      "path": "pages/user/user",
      "name": "user",
      "meta": {
        "showTabbar": false
      }
    }
  ],
  "tabBar": {...}
}
Salin selepas log masuk

Dalam kod di atas, tambah medan "meta" dalam pages.json untuk menetapkan sama ada halaman itu perlu memaparkan bar navigasi bawah, yang boleh diperoleh melalui ini.$route.meta.showTabbar dalam komponen.

Dalam halaman di mana bar navigasi bawah tersembunyi, kita perlu menetapkan gaya secara manual di bahagian bawah halaman, contohnya, tetapkan div dengan ketinggian yang sama dengan ketinggian bar navigasi bawah untuk menggantikan bar navigasi untuk memastikan halaman dipaparkan seperti biasa.

<template>
  <div>
    <div class="content">
      ...
    </div>
    <div class="placeholder"></div>
  </div>
</template>

<style>
  .placeholder {
    height: 100rpx;
  }
</style>
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, kami menambah div dengan ketinggian 100rpx di bahagian bawah untuk menggantikan bar navigasi bawah.

  1. Gunakan pembolehubah global dalam app.vue untuk mengawal sama ada bar navigasi bawah dipaparkan

Dalam fail entri utama uniapp app.vue, kita boleh menentukan pembolehubah global untuk Mengawal sama ada bar navigasi bawah dipaparkan. Kaedah operasi khusus adalah seperti berikut:

<template>
  <div class="app">
    <uni-tab-bar v-if="showTabBar" />
    <router-view />
  </div>
</template>

<script>
export default {
  data() {
    return {
      showTabBar: true
    }
  },
  mounted() {
    const pages = getCurrentPages()
    const currentPage = pages[pages.length - 1]
    this.showTabBar = currentPage.route.indexOf('/home') !== -1 // 在这里根据当前页面路由来设置showTabBar的值
  }
}
</script>
Salin selepas log masuk

Dalam kod di atas, kami menentukan sama ada bar navigasi bawah perlu dipaparkan dengan mendapatkan laluan halaman semasa. Jika ia perlu dipaparkan, tetapkan pembolehubah showTabBar kepada benar, jika tidak tetapkannya kepada palsu. Dalam komponen app.vue, kami menggunakan arahan v-if untuk memutuskan sama ada untuk memaparkan bar navigasi bawah berdasarkan nilai showTabBar.

Dalam halaman di mana bar navigasi bawah disembunyikan, kami juga perlu menambah div dengan ketinggian yang sama dengan ketinggian bar navigasi bawah untuk memastikan halaman dipaparkan seperti biasa.

<template>
  <div>
    <div class="content">
      ...
    </div>
    <div class="placeholder"></div>
  </div>
</template>

<style>
  .placeholder {
    height: 100rpx;
  }
</style>
Salin selepas log masuk
Salin selepas log masuk
  1. Gunakan pengikatan dinamik dalam komponen uni-tab-bar untuk mengawal sama ada bar navigasi bawah dipaparkan

uni-tab-bar ialah lalai yang disediakan oleh komponen bar Tab uniapp di mana kita boleh menggunakan pengikatan dinamik untuk mengawal paparan dan penyembunyian bar navigasi bawah. Kaedah operasi khusus adalah seperti berikut:

<template>
  <div class="tab-bar" :class="{&#39;hidden&#39;:hidden}">
    <div class="item" v-for="(tab,index) in tabList" :key="index" @click="switchTab(index)">
      <div class="icon" :class="{&#39;active&#39;:tab.active}">
        <img :src="tab.active ? tab.selectedIconPath : tab.iconPath" />
      </div>
      <div class="text" :class="{&#39;active&#39;:tab.active}">{{tab.text}}</div>
    </div>
  </div>
</template>

<script>
export default {
  props: {
    hidden: Boolean,
    tabList: Array,
    color: String,
    selectedColor: String,
    backgroundColor: String
  },
  methods: {
    switchTab(index) {
      this.$emit('switchTab', index)
    }
  }
}
</script>

<style>
  .hidden {
    display: none;
  }
</style>
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan atribut tersembunyi untuk mengawal paparan dan penyembunyian bar navigasi bawah. Apabila memperkenalkan komponen uni-tab-bar ke dalam komponen halaman, kita boleh mengawal sama ada bar navigasi bawah dipaparkan dengan mengikat atribut tersembunyi secara dinamik.

Dalam halaman di mana bar navigasi bawah tersembunyi, kita perlu menetapkan gaya secara manual di bahagian bawah halaman, contohnya, tambahkan div dengan ketinggian yang sama dengan ketinggian bar navigasi bawah untuk menggantikan bar navigasi.

<template>
  <div class="content">
    ...
  </div>
  <div class="placeholder"></div>
</template>

<style>
  .placeholder {
    height: 100rpx;
  }
</style>
Salin selepas log masuk

Di atas ialah tiga kaedah untuk menyembunyikan bar navigasi bawah dalam uniapp. Apabila menggunakannya, anda harus memilih kaedah yang paling sesuai mengikut keperluan anda sendiri.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi tersembunyi navigasi bawah dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah saya menggunakan preprocessors (sass, kurang) dengan uni-app? Bagaimanakah saya menggunakan preprocessors (sass, kurang) dengan uni-app? Mar 18, 2025 pm 12:20 PM

Artikel membincangkan menggunakan SASS dan kurang preprocessors dalam UNI-APP, memperincikan persediaan, faedah, dan penggunaan dwi. Fokus utama adalah pada konfigurasi dan kelebihan. [159 aksara]

Bagaimana saya menggunakan API Animasi Uni-App? Bagaimana saya menggunakan API Animasi Uni-App? Mar 18, 2025 pm 12:21 PM

Artikel ini menerangkan cara menggunakan API Animasi Uni-App, memperincikan langkah-langkah untuk membuat dan menggunakan animasi, fungsi utama, dan kaedah untuk menggabungkan dan mengawal masa animasi.

Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Mar 27, 2025 pm 04:59 PM

Artikel ini membincangkan pelbagai jenis ujian untuk aplikasi UNIAPP, termasuk unit, integrasi, fungsional, UI/UX, prestasi, silang platform, dan ujian keselamatan. Ia juga meliputi memastikan keserasian silang platform dan mengesyorkan alat seperti JES

Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Mar 27, 2025 pm 04:45 PM

Artikel ini membincangkan strategi untuk mengurangkan saiz pakej UNIAPP, memberi tumpuan kepada pengoptimuman kod, pengurusan sumber, dan teknik seperti pemisahan kod dan pemuatan malas.

Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Mar 27, 2025 pm 05:05 PM

Artikel ini membincangkan alat penyahpepijatan dan amalan terbaik untuk pembangunan UNIPP, yang memberi tumpuan kepada alat seperti HBuildex, WeChat Developer Tools, dan Chrome Devtools.

Bagaimanakah saya menggunakan API Uni-App untuk mengakses ciri peranti (kamera, geolokasi, dll)? Bagaimanakah saya menggunakan API Uni-App untuk mengakses ciri peranti (kamera, geolokasi, dll)? Mar 18, 2025 pm 12:06 PM

Artikel ini membincangkan menggunakan API UNI-APP untuk mengakses ciri peranti seperti kamera dan geolokasi, termasuk tetapan kebenaran dan pengendalian ralat.

Bagaimana saya menggunakan API Penyimpanan Uni-App (uni.setstorage, uni.getstorage)? Bagaimana saya menggunakan API Penyimpanan Uni-App (uni.setstorage, uni.getstorage)? Mar 18, 2025 pm 12:22 PM

Artikel ini menerangkan cara menggunakan API penyimpanan Uni-App (uni.setstorage, uni.getstorage) untuk pengurusan data tempatan, membincangkan amalan terbaik, penyelesaian masalah, dan menyoroti batasan dan pertimbangan untuk kegunaan yang berkesan.

Bagaimana saya mengendalikan navigasi antara halaman di uni-app? Bagaimana saya mengendalikan navigasi antara halaman di uni-app? Mar 18, 2025 pm 12:07 PM

Artikel ini membincangkan pengendalian navigasi halaman di UNI-APP menggunakan API terbina dalam, amalan terbaik untuk navigasi yang cekap, animasi tersuai untuk peralihan halaman, dan kaedah untuk lulus data antara halaman.

See all articles