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

Detaillierte Erklärung des TIMESTAMPDIFF-Falls in MySQL

1. Syntax TIMESTAMPDIFF(Einheit, Beginn, Ende); G...

Beispiel für eine MySQL-DML-Sprachoperation

Zusätzliche Erklärung, Fremdschlüssel: Verwenden ...

Navicat: Mehrere Möglichkeiten zum Ändern des MySQL-Datenbankkennworts

Methode 1: Verwenden Sie den Befehl SET PASSWORD ...

Erklärung zur Verwendung von JavaScript ECharts

Ich habe ECharts schon einmal bei einem Projekt v...

So erstellen Sie DockerHub selbst

Der Docker Hub, den wir zuvor verwendet haben, wi...

So richten Sie geplante Aufgaben in Linux und Windows ein

Inhaltsverzeichnis Linux 1. Grundlegende Verwendu...

Verwendung des Linux-Telnet-Befehls

1. Einleitung Der Befehl Telnet dient zur Anmeldu...

Detaillierte Erläuterung der grundlegenden Docker-Netzwerkkonfiguration

Externer Zugriff Ports nach dem Zufallsprinzip zu...

Virtual Box-Tutorialdiagramm zum Duplizieren virtueller Maschinen

Nachdem man sich an VM gewöhnt hat, ist der Wechs...

MySQLs konzeptionelles Verständnis verschiedener Sperren

Optimistisches Sperren Optimistisches Sperren wir...