Benutzerdefinierte Komponente der unteren Navigationsleiste des WeChat-Applets

Benutzerdefinierte Komponente der unteren Navigationsleiste des WeChat-Applets

In diesem Artikelbeispiel wird der spezifische Implementierungscode der unteren Navigationsleistenkomponente des WeChat-Applets zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

1. Erstellen Sie eine neue tabbar.vue (definierte benutzerdefinierte Navigationsleistenkomponente) unter dem Dateipreis der öffentlichen Komponente Ihres eigenen Projekts

<Vorlage>
  <view v-if="showTabbar" class="tabbar">
    <Ansicht
      v-for="(Element, Index) in TabList"
      :Schlüssel="Index"
      Klasse="Symbol"
      @click="TabBar wechseln(Element.Pfad, Index)"
    >
      <image :src="index == aktuell ? item.iconActivePath : item.iconPath"></image>
      <text :class="index == aktuell ? 'active_text' : 'text'" bindtap = 'go'>{{ item.name }}</text>
    </Ansicht>
  </Ansicht>
</Vorlage>
 
<Skript>
  // Container aus '@/channelMessage/get-container' importieren
 
  Standard exportieren {
    Requisiten: {
      Tabbar anzeigen: {
        Typ: Boolean,
        Standard: true,
      },
      current:{ // aktueller Seitenindex
    Typ: Nummer,
    Standard: 0
   },
    },
    Daten() {
      zurückkehren {
        ausgewählter Index: 0,
        RegisterkarteListe: [
          {
            Name: "Home",
            Symbolpfad: erforderlich("../../../static/image/img/tab-home-nor.png"),
            iconActivePath: erfordern("../../../static/image/img/tab-home-sel.png"),
          Pfad: "/pages/index/index",
          },
          {
            Name: "Warenkorb",
            Symbolpfad: erforderlich("../../../static/image/img/tab-cart-nor.png"),
            iconActivePath: erfordern("../../../static/image/img/tab-cart-sel.png"),
            Pfad: "/pages/cart/cartEdit",
          },
          {
            Name: "Mein",
            Symbolpfad: erforderlich("../../../static/image/img/tab-my-nor.png"),
            iconActivePath: erfordern("../../../static/image/img/tab-my-sel.png"),
            Pfad: "/pages/mine/mine",
          },
        ],
    }
    },
 
    beiAnzeigen() {
      // const containerId = container.getContainerId()
      // wenn (Container-ID == '1000') {
      // diese.showTabbar = false
      // }
    },
    Methoden: {
    switchTabBar(Pfad, Index) {
      this.item_index = Index
      wx.switchTab({
          URL: Pfad,
      })
        // this.$router.replace(Pfad)
      },
    
    },
}
</Skript>
 
<style lang="scss" scoped>
  .tabbar {
    Position: fest;
    unten: 0;
    Z-Index: 10;
    Anzeige: Flex;
    Elemente ausrichten: zentrieren;
    Inhalt ausrichten: Abstand herum;
    Breite: 100 %;
    Höhe: 100rpx;
    Hintergrundfarbe: #ffffff;
    Polsterung unten: Konstante (Safe-Area-Inset-Bottom);
    Polsterung unten: Umgebung (Sicherheitsbereich, Einschub unten);
 
    .Symbol {
      Anzeige: Flex;
      Flex-Richtung: Spalte;
      Elemente ausrichten: zentrieren;
 
      Bild {
        Breite: 50rpx;
        Höhe: 50rpx;
      }
  }
  .aktiver_text{
        Schriftgröße: 20rpx;
        Rand oben: 5rpx;
    Farbe: #d81e06;
      }
  .Text{
    Schriftgröße: 20rpx;
    Rand oben: 5rpx;
    }
  }
</Stil>

2. Fügen Sie der Datei pages.json im Projekt Code hinzu, um sicherzustellen, dass wx.switchTab in tabbar.vue normal verwendet werden kann. Der Code lautet wie folgt:

"TabBar": {
    "ausgewählteFarbe": "#EE2F51",
    "Liste": [{
      "pagePath": "Seiten/Index/Index",
      "text": "Startseite",
      "iconPath": "statisch/Bild/Img/tab-home-nor.png",
      "selectedIconPath": "statisch/Bild/Img/tab-home-sel.png"
    },{
      "pagePath": "Seiten/Warenkorb/WarenkorbBearbeiten",
      "text": "Warenkorb",
      "iconPath": "statisch/Bild/Img/tab-cart-nor.png",
      "selectedIconPath": "statisch/Bild/Img/tab-cart-sel.png"
    },{
      "pagePath": "Seiten/meine/meine",
      "text": "Mein",
      "iconPath": "statisch/Bild/img/tab-my-nor.png",
      "selectedIconPath": "statisch/Bild/img/tab-my-sel.png"
    }]
  },

3. Registrieren Sie benutzerdefinierte Komponenten global in main.js

importiere tabBar aus "./customComponents/commonComponents/tabBar/index.vue";

//Ändern Sie die Position Ihrer Komponente. Das index.vue hier ist das zuvor erwähnte tabbar.vue
Vue.component("tabBar", tabBar);

4. Führen Sie die registrierte Komponente auf der Seite ein, auf der die Navigationsleiste benötigt wird

//Fügen Sie der Seite die Navigationsleistenkomponente hinzu <tabBar :current=item_index></tabBar>
 
//Status markieren, ja die Navigationsleiste kann je nach Seite data() { unterschiedliche Aktivierungsstatus anzeigen.
      zurückkehren {
        Artikelindex: 0,
      }
}
 
//WeChats integrierte Navigationsleiste ausblenden onLoad() {
      wx.hideTabBar();
},

5. Anzeigeeffekt

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • WeChat Mini-Programm-Tutorial-Reihe: Einrichten der Titelleiste und der Navigationsleiste (7)
  • Beispielcode für die obere Navigationsleiste der WeChat-Applet-Entwicklung
  • Detaillierte Erklärung zum Einstellen der unteren Navigationsspalte des WeChat-Applets
  • WeChat-Applet: benutzerdefinierte Kopfzeilen-Navigationsleiste und Hintergrundbild der Navigationsleiste, NavigationStyle-Problem
  • Implementierungscode der oberen Navigationsleiste im WeChat-Applet
  • Detaillierte Erläuterung der Schaltfläche „Zurück“ des WeChat-Applets in der Kapsel | Funktion der benutzerdefinierten Navigationsleiste auf der Startseite
  • Schieberegisterkarteneffekt in der oberen Navigationsleiste des WeChat-Applet
  • WeChat-Applet: benutzerdefinierte Navigationsleiste. Die obere Navigationsleiste passt sich allen Modellen an (mit vollständiger Hülle).
  • Das WeChat-Applet implementiert eine nach links verschiebbare Navigationsleiste
  • Das WeChat-Applet realisiert den Effekt der Navigationsleistenregisterkarte

<<:  Tutorial zur HTML-Tabellenauszeichnung (37): Hintergrundbild-Attribut BACKGROUND

>>:  Detaillierte Analyse der MySQL-Abfrageabfangung

Artikel empfehlen

Reiner CSS-Header, korrigierter Implementierungscode

Es gibt zwei Hauptgründe, warum es schwierig ist,...

1 Minute Vue implementiert Rechtsklickmenü

Inhaltsverzeichnis Rendern Installieren Code-Impl...

So exportieren Sie eine CSV-Datei mit Header in MySQL

Siehe das offizielle Dokument http://dev.mysql.co...

Tutorial zur grundlegenden Verwendung des MySQL Slow Query Log

Parameter im Zusammenhang mit dem langsamen Abfra...

MySQL-Datenbanktabelle und Datenbankpartitionierungsstrategie

Lassen Sie uns zunächst darüber sprechen, warum w...

Detailliertes Tutorial zum Bereitstellen eines Django-Projekts unter CentOS

Grundlegende Umgebung Pagoden-Montageservice [Pyt...

Erste Schritte mit GDB unter Linux

Vorwort gdb ist ein sehr nützliches Debugging-Too...

So implementieren Sie Leerzeichen in Taobao mit CSS3

Machen Sie einen leeren Bereich für Taobao: Wenn ...

Ein kurzer Vortrag über MySQL-Pivottabellen

Ich habe eine Produktteiletabelle wie diese: Teil...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.24

In diesem Artikel finden Sie das Installations-Tu...

Tabellen-Paging-Funktion implementiert durch Vue2.0+ElementUI+PageHelper

Vorwort Ich habe kürzlich an einigen Front-End-Pr...

Der vollständige Code der im Uniapp-Applet enthaltenen Radardiagrammkomponente

Effektbild: Der Implementierungscode lautet wie f...

Beispiel für automatischen Stoppeffekt nach Text-Scrollen

Die Wirkung ist ganz einfach: Kopieren Sie einfach...

Das WeChat-Applet ermöglicht horizontales und vertikales Scrollen

In diesem Artikelbeispiel wird der spezifische Co...