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

So verbinden Sie JDBC mit MySQL 5.7

1. Bereiten Sie zunächst die MySQL- und Eclipse-U...

Zusammenfassung der Wissenspunkte zum Linux-Datumsbefehl

Verwendung: Datum [Optionen]... [+Format] oder: D...

Vue verwendet die Element-el-upload-Komponente, um auf die Grube zu treten

Inhaltsverzeichnis 1. Grundlegende Verwendung 2. ...

CocosCreator Skelettanimation Drachenknochen

CocosCreator Version 2.3.4 Drachenknochenanimatio...

Grundlegendes Tutorial zum WeChat-Miniprogramm: Verwendung von Echart

Vorwort Schauen wir uns zunächst den Endeffekt an...

Eine kurze Analyse der parallelen WriteSet-Replikation von MySQL

【Historischer Hintergrund】 Ich arbeite seit drei ...

So optimieren Sie den Logikbeurteilungscode in JavaScript

Vorwort Zu den logischen Urteilsaussagen, die wir...

Detaillierte Erklärung wichtiger Kaskadierungskonzepte in CSS

Kürzlich stieß ich im Verlauf des Projekts auf ei...

So steuern Sie den Anteil untergeordneter Flex-Elemente auf der Hauptachse

Hintergrund Durch das flexible Layout wird eine e...

So reduzieren Sie die Bildgröße mithilfe des mehrstufigen Docker-Builds

In diesem Artikel wird beschrieben, wie Sie die m...

Implementierung eines einfachen Gobang-Spiels mit nativem JavaScript

In diesem Artikel finden Sie den spezifischen Cod...

Ursachen und Lösungen für domänenübergreifende Probleme bei Ajax-Anfragen

Inhaltsverzeichnis 1. Wie entsteht Cross-Domain? ...