Heim Web-Frontend uni-app So teilen Sie ein unteres Menü in Uniapp

So teilen Sie ein unteres Menü in Uniapp

May 26, 2023 am 09:00 AM

Mit der rasanten Entwicklung mobiler Geräte beginnen immer mehr Entwickler, Uniapp für die plattformübergreifende Entwicklung zu verwenden. In mobilen Anwendungen ist das untere Menü eine sehr häufige UI-Komponente. Anders als bei iOS und Android kann mit uniapp eine einheitliche Interaktion und ein einheitlicher Stil des unteren Menüs auf verschiedenen Plattformen erreicht werden. Aber wie teilt man ein unteres Menü? In diesem Artikel wird detailliert beschrieben, wie Uniapp ein gemeinsames unteres Menü implementiert.

  1. Verwenden Sie die untere Menükomponente.

uniapp stellt die offizielle untere Menükomponente uni-tabbar bereit, auf die bei Verwendung in der Datei page.json verwiesen werden kann. Die untere Menükomponente kann einen Seitensprung realisieren, indem sie das Seitenattribut von Uni-Tabbar konfiguriert. Es ist zu beachten, dass die untere Menükomponente nur die Konfiguration von vier Registerkarten unterstützt und jede Seite mit einem Seiten-Tag umschlossen werden muss.

Ein Beispiel ist wie folgt:

{
  "tabBar": {
    "color":"#999",
    "selectedColor":"#007aff",
    "borderStyle":"black",
    "backgroundColor":"#f9f9f9",
    "list":[{
      "pagePath":"pages/home/index",
      "text":"首页",
      "iconPath":"/static/tabbar/home.png",
      "selectedIconPath":"/static/tabbar/home_active.png"
    },{
      "pagePath":"pages/category/index",
      "text":"分类",
      "iconPath":"/static/tabbar/category.png",
      "selectedIconPath":"/static/tabbar/category_active.png"
    },{
      "pagePath":"pages/cart/index",
      "text":"购物车",
      "iconPath":"/static/tabbar/cart.png",
      "selectedIconPath":"/static/tabbar/cart_active.png"
    },{
      "pagePath":"pages/user/index",
      "text":"我的",
      "iconPath":"/static/tabbar/user.png",
      "selectedIconPath":"/static/tabbar/user_active.png"
    }]
  }
}
Nach dem Login kopieren

Bei Verwendung der unteren Menükomponente müssen Entwickler jedoch nur das entsprechende tabBar-Attribut in der page.json-Datei jeder Seite konfigurieren Die page.json-Datei jeder Seite konfigurieren. Diese Methode ist umständlicher und nicht für die gemeinsame Nutzung eines unteren Menüs geeignet.

  1. Kapseln Sie die untere Menükomponente.

Einige Entwickler entscheiden sich dafür, die untere Menükomponente selbst zu kapseln, z. B. indem sie das untere Menü in Form einer Komponente kapseln und sie in Seiten einführen, die das untere Menü verwenden müssen. Obwohl diese Methode bequemer ist, müssen auch einige triviale Arbeiten durchgeführt werden, um die untere Menükomponente in uniapp zu kapseln.

Zunächst müssen Sie in der unteren Menükomponente die Methode uni.getSystemInfoSync() der nativen Uni-API verwenden, um die Bildschirmhöhe des Geräts und die Höhe des unteren Menüs abzurufen und so die Seitenhöhe ohne die zu berechnen unteres Menü. Zweitens müssen die entsprechende Höhe des unteren Menüs und die Seitenhöhe auf jeder Seite manuell eingestellt werden, damit ein normales Scrollen der Seite erreicht werden kann.

Der Beispielcode lautet wie folgt:

<template>
  <view class="wrapper">
    <slot></slot>
    <view class="tabbar" :style="{ height: tabBarHeight + 'px' }">
      <!-- 底部菜单内容 -->
    </view>
  </view>
</template>

<script>
  import api from '@/utils/api'
  export default {
    data() {
      return {
        tabBarHeight: 0
      }
    },
    mounted() {
      this.getSystemInfo()
    },
    methods: {
      getSystemInfo() { // 获取设备信息
        const systemInfo = uni.getSystemInfoSync()
        this.tabBarHeight = api.pxToRpx(systemInfo.screenHeight - systemInfo.safeArea.bottom)
        this.setPageStyle()
      },
      setPageStyle() { // 设置页面样式
        uni.createSelectorQuery().select('.wrapper').boundingClientRect(rect => {
          const height = api.pxToRpx(rect.height)
          uni.$emit('setPageStyle', {height: height, tabBarHeight: this.tabBarHeight})
        }).exec()
      }
    }
  }
</script>

<style>
  .wrapper {
    height: 100%;
  }
  .tabbar {
    position: fixed;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 10;
    background-color: #fff;
    border-top: 1px solid #ddd;
    text-align: center;
  }
</style>
Nach dem Login kopieren

Auf jeder Seite müssen Sie das Ereignis uni.$emit('setPageStyle') abhören und den entsprechenden Stil entsprechend der Seitenhöhe und der Höhe des unteren Menüs festlegen, um dies sicherzustellen Die Seite scrollt normal.

Obwohl die Kapselung der unteren Menükomponente selbst eine öffentliche Nutzung ermöglichen kann, ist sie umständlicher und nicht für Anfänger geeignet, die mit Uniapi nicht vertraut sind, da sie sich mit einigen trivialen Problemen befassen müssen.

  1. Plug-Ins verwenden

Da untere Menüs in mobilen Anwendungen sehr verbreitet sind, haben viele Entwickler das uniapp-Bottom-Menü-Plug-in gekapselt, was Entwicklern triviale Arbeit erspart. Durch die Verwendung von Plug-Ins können schnelle und bequeme Anrufe erzielt und Stile und Interaktionen einfach angepasst werden.

Das untere Menü-Plug-in von uniapp ist sehr einfach zu verwenden. Sie müssen lediglich das entsprechende Plug-in in die Datei page.json einführen. Mithilfe von Plug-Ins können die interaktiven Funktionen und Stile des unteren Menüs einfach festgelegt werden, was eher für Anfänger geeignet ist, die mit uniapi nicht vertraut sind.

In diesem Artikel wird ein Uniapp-Plugin für das untere Menü „uniui-tabbar“ vorgestellt, bei dem es sich um ein einfaches und benutzerfreundliches Plug-in für das untere Menü mit einfacher Verwendung und Skalierbarkeit handelt individuell angepasst.

Über die offizielle Dokumentation können Sie sich schnell mit der Verwendung von Uniui-Tabbar vertraut machen:

<template>
  <view>
    <!-- 页面内容 -->
  </view>
  <uniui-tabbar :active="active" :tab-bar-list="tabBar.list" @onChange="onChange"></uniui-tabbar>
</template>

<script>
  export default {
    data() {
      return {
        active: 0,
        tabBar: {
          color:"#999",
          selectedColor:"#007aff",
          borderStyle:"black",
          backgroundColor:"#f9f9f9",
          list:[{
            "text":"首页",
            "iconPath":"/static/tabbar/home.png",
            "selectedIconPath":"/static/tabbar/home_active.png"
          },{
            "text":"分类",
            "iconPath":"/static/tabbar/category.png",
            "selectedIconPath":"/static/tabbar/category_active.png"
          },{
            "text":"购物车",
            "iconPath":"/static/tabbar/cart.png",
            "selectedIconPath":"/static/tabbar/cart_active.png"
          },{
            "text":"我的",
            "iconPath":"/static/tabbar/user.png",
            "selectedIconPath":"/static/tabbar/user_active.png"
          }]
        }
      }
    },
    methods: {
      onChange(index) {
        this.active = index
        uni.switchTab({
          url: '/' + this.tabBar.list[index].pagePath
        })
      }
    }
  }
</script>
Nach dem Login kopieren

Bei Verwendung des Uniui-Tabbar-Plug-Ins müssen Sie nur die Daten im unteren Menü festlegen und die Daten an die Tab-Leiste übergeben -list-Attribut. Überwachen Sie das Ereignis zum Wechseln des unteren Menüs über das Ereignis onChange. Beim Wechseln des unteren Menüs können Sie uni.switchTabAPI verwenden, um zur Seite zu springen. Entwickler müssen sich nur auf die Definition der Daten und Stile des unteren Menüs konzentrieren, anstatt verschiedene triviale Berechnungen und Stilanpassungen durchzuführen.

Zusammenfassung:

Während des Entwicklungsprozesses müssen wir die geeignete Methode zur Implementierung des gemeinsamen unteren Menüs basierend auf unseren tatsächlichen Anforderungen auswählen. In Uniapp ist es bequemer, offizielle Komponenten oder Plug-Ins zu verwenden. Welche Methode Sie wählen, hängt von Ihrer tatsächlichen Situation ab. Versuchen Sie bei der Implementierung eines gemeinsamen unteren Menüs, unnötige Arbeitslast zu reduzieren und konzentrieren Sie sich auf die Wiederverwendung von Code und die Einfachheit des Codes, um so die Entwicklungseffizienz und die Lesbarkeit des Codes zu verbessern.

Das obige ist der detaillierte Inhalt vonSo teilen Sie ein unteres Menü in Uniapp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie benutze ich die Social Sharing APIs von Uni-App? Wie benutze ich die Social Sharing APIs von Uni-App? Mar 13, 2025 pm 06:30 PM

In dem Artikel wird beschrieben, wie die soziale Freigabe in UN-App-Projekte mit der UNI.SHARE-API integriert wird, die Setup, Konfiguration und Tests über Plattformen wie WeChat und Weibo abdeckt.

Wie benutze ich Präprozessoren (sass, weniger) mit UNI-App? Wie benutze ich Präprozessoren (sass, weniger) mit UNI-App? Mar 18, 2025 pm 12:20 PM

In Artikel werden SASS und weniger Präprozessoren in Uni-App unter Verwendung von Setup, Vorteilen und doppelter Nutzung erläutert. Der Schwerpunkt liegt auf Konfiguration und Vorteilen. [159 Zeichen]

Wie benutze ich die Animations-API von Uni-App? Wie benutze ich die Animations-API von Uni-App? Mar 18, 2025 pm 12:21 PM

In dem Artikel wird erläutert, wie die Animations-API von Uni-App verwendet wird und Schritte zum Erstellen und Anwenden von Animationen, Schlüsselfunktionen und Methoden zum Kombinieren und Steuerungsanimations-Timing verwendet. Character Count: 159

Was sind die verschiedenen Arten von Tests, die Sie in einer UNIAPP -Anwendung durchführen können? Was sind die verschiedenen Arten von Tests, die Sie in einer UNIAPP -Anwendung durchführen können? Mar 27, 2025 pm 04:59 PM

In dem Artikel werden verschiedene Testtypen für UNIAPP-Anwendungen erörtert, einschließlich Einheiten, Integration, Funktions-, UI/UX-, Leistung, plattformübergreifender und Sicherheitstests. Es deckt auch die Gewährleistung der plattformübergreifenden Kompatibilität ab und empfiehlt Tools wie JES

Wie können Sie die Größe Ihres UNIAPP -Anwendungspakets reduzieren? Wie können Sie die Größe Ihres UNIAPP -Anwendungspakets reduzieren? Mar 27, 2025 pm 04:45 PM

In dem Artikel werden Strategien zur Reduzierung der UNIAPP -Paketgröße erörtert, wobei der Schwerpunkt auf Codeoptimierung, Ressourcenmanagement und Techniken wie Codeaufteilung und faulen Laden liegt.

Wie verwende ich die Speicher-API von Uni-App (Uni.setStorage, Uni.getStorage)? Wie verwende ich die Speicher-API von Uni-App (Uni.setStorage, Uni.getStorage)? Mar 18, 2025 pm 12:22 PM

In dem Artikel wird erläutert, wie die Speicher-APIs von UNI-Apps (Uni.setStorage, Uni.getStorage) für lokales Datenmanagement verwendet werden, Best Practices, Fehlerbehebung erörtert und Einschränkungen und Überlegungen für die effektive Verwendung hervorgehoben werden.

Welche Debugging -Tools stehen für die UNIAPP -Entwicklung zur Verfügung? Welche Debugging -Tools stehen für die UNIAPP -Entwicklung zur Verfügung? Mar 27, 2025 pm 05:05 PM

In dem Artikel werden Debugging -Tools und Best Practices für die UniApp -Entwicklung erörtert und sich auf Tools wie Hbuilderx, Wechat -Entwickler -Tools und Chrome Devtools konzentriert.

Was ist die Dateistruktur eines Uni-App-Projekts? Was ist die Dateistruktur eines Uni-App-Projekts? Mar 14, 2025 pm 06:55 PM

Der Artikel beschreibt die Dateistruktur eines Uni-App-Projekts, in dem wichtige Verzeichnisse wie Common, Komponenten, Seiten, statische und unicloud sowie wichtige Dateien wie App.vue, Main.js, Manifest.json, Pages.json und Uni.Scss erläutert werden. Es wird diskutiert, wie das o

See all articles