Heim Web-Frontend js-Tutorial Einführung in die Komponenten des JavaScript-Frameworks (xmlplus) (5) Tableiste

Einführung in die Komponenten des JavaScript-Frameworks (xmlplus) (5) Tableiste

May 05, 2017 am 10:43 AM
选项卡

xmlplus ist ein JavaScriptFramework für die schnelle Entwicklung von Front-End- und Back-End-Projekten. In diesem Artikel wird hauptsächlich die Registerkarte der xmlplus-Komponentendesignreihe vorgestellt, die einen gewissen Referenzwert hat.

In diesem Kapitel wird eine Registerkartenkomponente entworfen, die häufig auf Geräten verwendet wird ist ein schematisches Diagramm:

Tab-Zusammensetzung

Vor der spezifischen Implementierung Stellen Sie sich vor, wie die Zielkomponente verwendet wird bei der Gestaltung eine große Hilfe sein. Durch Inspektion kann die Registerkartenkomponente in einen Containerteil und einen untergeordneten Teil unterteilt werden, wie in der folgenden XML-Struktur dargestellt.

<Tabbar id="tabbar">
  <TabItem id="home" label="首页"/>
  <TabItem id="setting" label="设置"/>
  <TabItem id="logs" label="日志"/>
  <TabItem id="about" label="关于"/>
</Tabbar>
Nach dem Login kopieren

Jetzt wechseln wir zum Unterelementteil der Tab-Komponente, um zu sehen, wie der Unterelementteil zerlegt wird. Aus dem Diagramm können Sie ersehen, dass der untergeordnete Abschnitt in einen untergeordneten Container und einen untergeordneten Abschnitt unterteilt werden kann, der ein Symbol und einen Text enthält.

<a id="tabitem">
  <Icon id="icon"/>
  <span id="label">首页</span>
</a>
Nach dem Login kopieren

Jetzt ist unser Ziel ganz klar: Wir entwerfen hauptsächlich drei Komponenten: die Symbolkomponente Icon, das Unterelement der Tab-Komponente TabItem und den Container der Tab-Komponente Tabbar.

Strukturdiagramm

Da diese Komponente relativ einfach ist, können die drei Unterkomponenten auf der gleichen Ebene platziert werden. Bitte beachten Sie jedoch, dass wir auch vier Symbolkomponenten haben und ein Kind erstellen können, um sie zu halten. Unser Komponentenstrukturdiagramm ist unten dargestellt:

Tabbar/
├── Tabbar
├── TabItem
└── Icon/
├─ ─ Über
├── Startseite
├── Protokolle
└── Einstellung

Icon-Implementierung

Beginnen wir mit der einfachsten und betrachten wir die vier Symbolkomponenten. Die Symbolkomponente wird hauptsächlich durch Einkapseln von SVG-Text implementiert. Da der Symboltext lang ist, wird hier nur ein Abschnitt jedes Symboltexts abgefangen.

About: {
  xml: `<svg width="48" height="48" viewBox="0 0 1024 1024">
        <path d="M507.577907 23.272727C240.142852..."/>
     </svg>`
},
Home: {
  xml: `<svg width="48" height="48" viewBox="0 0 1024 1024">
        <path d="M949.082218 519.343245 508.704442..."/>
     </svg>`
},
Logs: {
  xml: `<svg width="48" height="48" viewBox="0 0 1024 1024">
        <path d="M576 125.344l32 0 0 64-32 0 0-64Z..."/>
     </svg>`
},
Setting: {
  xml: `<svg width="48" height="48" viewBox="0 0 1024 1024">
        <path d="M512 336.664c-96.68 0-175.336 78...."/>
     </svg>`
}
Nach dem Login kopieren

Bitte beachten Sie, dass sich diese Symbole unter dem virtuellen Verzeichnis/Symbol befinden, d. h. Sie müssen sie wie folgt importieren:

xmlplus("ui", function (xp, $_, t) {
  $_().imports({Tabbar: {... }, TabItem: {...}});

  $_("icon").imports({--这里包含了四个图标组件--});
});
Nach dem Login kopieren

Im Folgenden wird das Symbol implementiert Komponentensymbol, das Symbol hier Die Komponente unterscheidet sich von der oben genannten Komponente und instanziiert je nach Eingabesymboltyp unterschiedliche Symbole. Dieses Design kann einen Teil desselben Codes wiederverwenden und Redundanz vermeiden.

Icon: {
  css: "#icon { width: 1.5em; height: 1.5em; display: inline-block; }",
  opt: { icon: "about" },
  xml: `<span id="icon"/>`,
  fun: function (sys, items, opts) {
    sys.icon.replace("icon/" + opts.icon).addClass("#icon");
  }
}
Nach dem Login kopieren

Das Element Funktion dieser Komponente erstellt eine Symbolkomponente basierend auf dem Eingabesymboltyp und ersetzt das vorhandene Span-Element Objekt . Beachten Sie, dass Sie den Stil nach dem Ersetzen erneut hinzufügen müssen.

Implementierung von Unterpunkten

Nach dem Prinzip von innen nach außen implementieren Sie als nächstes den Unterpunkt TabItem der Tab-Komponente. Für diese Komponente müssen Sie eine synonyme -Attribut--Zuordnung im Zuordnungselement der Komponente durchführen und den ID-Attributwert dem Symbolattribut der internen Symbolkomponente zuordnen.

TabItem: {
  css: "这里是样式项部分,为便于组件整体展示,略去...",
  map: {"attrs": { icon: "id->icon" } },
  xml: `<a id="tabitem">
       <Icon id="icon"/>
       <span id="label">首页</span>
     </a>`,
  fun: function (sys, items, opts) {
    sys.label.text(opts.label);
    function select() {
      sys.tabitem.addClass("#primary");
    }
    function unselect() {
      sys.tabitem.removeClass("#primary");
    }
    return { select: select, unselect: unselect };
  }
}
Nach dem Login kopieren

Diese Komponente bietet eine Schnittstelle zum Wechseln zwischen ausgewählten und nicht ausgewählten Zuständen beim Wechseln von Optionen. Zur Verwendung mit Tab-Containern.

Tab-Implementierung

Schließlich schauen wir uns die Implementierung der Tab-Komponente Tabbar an. Diese Komponente lauscht auf das -Ereignis , wenn der Benutzer auf die Registerkarte tippt. Sie führt im Listener hauptsächlich zwei Dinge aus: Die eine besteht darin, den Wechsel des Registerkartenstatus aufrechtzuerhalten; Zustandsänderungsereignis.

Tabbar: {
  css: "这里是样式项部分,为便于组件整体展示,略去...",
  xml: `<nav id="tabbar"/>`,
  fun: function (sys, items, opts) {
    var sel = this.first();
    this.on("touchend", "./*[@id]", function (e) {
      sel.value().unselect();
      (sel = this).value().select();
      this.trigger("switch", this.toString());
    });
    if (sel) sel.value().select();
  }
}
Nach dem Login kopieren

An diesem Punkt ist eine Tab-Komponente fertig. Schauen wir uns eine bestimmte Anwendung an:

xmlplus("example", function (xp, $_, t) {
  $_().imports({
  Index: {
    xml: `<Footer id=&#39;footer&#39;/>`,
    fun: function (sys, items, opts) {
      this.on("switch", (e, target) => console.log(target));
    }
  },
  Footer: {
    xml: `<Tabbar id="footer">
         <TabItem id="home" label="首页"/>
         <TabItem id="setting" label="设置"/>
         <TabItem id="logs" label="日志"/>
         <TabItem id="about" label="关于"/>
       </Tabbar>`
  }
  });
});
Nach dem Login kopieren

Im Komponentenindex können Sie auf Nachrichten von der Registerkarte warten Schalten Sie Ereignisse um, um entsprechende Vorgänge auszuführen. Verwenden Sie beispielsweise die Stack-Komponente View, die wir später vorstellen werden, um Wechselvorgänge zwischen Seiten durchzuführen.

Diese Artikelserie basiert auf dem xmlplus-Framework. Wenn Sie nicht viel über xmlplus wissen, können Sie www.xmlplus.cn besuchen. Eine ausführliche Dokumentation zu den ersten Schritten finden Sie hier.

[Verwandte Empfehlungen]

1. Kostenloses JS-Online-Video-Tutorial

2.JavaScript Chinese Reference Manual

3. php.cn Dugu Jiujian (3) – JavaScript-Video-Tutorial

Das obige ist der detaillierte Inhalt vonEinführung in die Komponenten des JavaScript-Frameworks (xmlplus) (5) Tableiste. 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ß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)

Fix: ERR_ADDRESS_UNREACHABLE-Fehler in Google Chrome Fix: ERR_ADDRESS_UNREACHABLE-Fehler in Google Chrome May 15, 2023 pm 06:22 PM

Mehrere Windows-Benutzer haben sich darüber beschwert, dass sie beim Versuch, auf bestimmte Websites im Google Chrome-Browser auf ihren Systemen zuzugreifen, nicht auf die Webseiten zugreifen können. Außerdem wird im Browser die Meldung „Die Website kann nicht erreicht werden“ mit dem Fehlercode ERR_ADDRESS_UNREACHABLE angezeigt. Es kann viele mögliche Gründe für dieses Problem geben: Probleme mit dem Website-Server, Proxy-Server-Einstellungen, instabile Internetverbindung usw. Wenn Sie auf ähnliche Probleme stoßen, geraten Sie nicht in Panik. Nachdem wir das Problem in diesem Artikel eingehend analysiert haben, haben wir eine Reihe von Lösungen gefunden. Bevor Sie fortfahren, versuchen Sie die folgenden Problemumgehungen: Überprüfen Sie, ob der Benutzer versucht, von anderen Geräten aus auf die Website zuzugreifen, und es keine Probleme gibt, dann dies

Logitech G Hub funktioniert nicht unter Windows 11? Jetzt beheben Logitech G Hub funktioniert nicht unter Windows 11? Jetzt beheben Apr 17, 2023 pm 08:16 PM

Logitech GHub ist eine Software, mit der Benutzer ihre Logitech-Peripheriegeräte verwalten können. Diese Software ist mit Windows 11 kompatibel. Einige Benutzer berichteten jedoch, dass Logitech GHub unter Windows 11 bei ihnen nicht funktioniert. Unsere Leser haben berichtet, dass beim Versuch, die Software zu starten, der Ladevorgang hängen bleibt. Daher können sie die Software nicht verwenden, wenn sie nicht für sie geöffnet wird. Haben Sie auch versucht, das Problem zu beheben, dass LogitechGHub unter Windows 11 nicht funktioniert? Wenn ja, können die folgenden möglichen Lösungen LogitechGHub starten. Was ist der Grund, warum Logitech GHub unter Windows 11 nicht funktioniert? mit vielen anderen

So beheben Sie, dass das Vorschaufenster unter Windows 11 nicht funktioniert So beheben Sie, dass das Vorschaufenster unter Windows 11 nicht funktioniert Apr 24, 2023 pm 06:46 PM

Eine der Funktionen des Windows-Datei-Explorers ist das Vorschaufenster, das eine Vorschau der von Ihnen ausgewählten Datei anzeigt. Dies bedeutet, dass Sie den Inhalt der Datei anzeigen können, bevor Sie sie öffnen. Der Vorschaubereich des Datei-Explorers bietet Vorschauen für verschiedene Dateitypen wie Office-bezogene Dokumente, PDFs, Textdateien, Bilder und Videos. Normalerweise funktioniert es einwandfrei, aber manchmal ist die Dateivorschau nicht verfügbar. In letzter Zeit haben viele Benutzer von Windows 11 das Problem angesprochen, dass das Vorschaufenster des Datei-Explorers nicht funktioniert und sie keine Dateivorschauen anzeigen können. Haben Sie das Problem, dass das Vorschaufenster auf Ihrem Windows-Computer nicht funktioniert? Dann lesen Sie diesen Artikel weiter. Hier haben wir eine Liste mit Korrekturen zusammengestellt, die Ihnen bei der Behebung helfen können

Kann MSI Afterburner in Windows 11 nicht verwendet werden? Probieren Sie die folgenden Korrekturen aus. Kann MSI Afterburner in Windows 11 nicht verwendet werden? Probieren Sie die folgenden Korrekturen aus. May 09, 2023 am 09:16 AM

MSIAfterburner ist ein Übertaktungstool, das für die meisten Grafikkarten geeignet ist. Darüber hinaus können Sie damit auch die Leistung Ihres Systems überwachen. Einige Benutzer berichteten jedoch, dass MSIAfterburner unter Windows 11 nicht funktioniert. Dies kann mehrere Gründe haben, die wir in den folgenden Abschnitten besprechen. Wenn dies jedoch geschieht, können Sie die Leistung nicht ändern oder während des Spiels überwachen. Wie erwartet stellt dies eine erhebliche Herausforderung für Gamer dar. Aus diesem Grund haben wir dieses Tutorial gewidmet, um Ihnen zu helfen, das Problem zu verstehen und Sie durch die effektivsten Lösungen für das Problem zu führen, dass MSIAfterburned unter Windows 11 nicht funktioniert.

Fix: VAN 1067-Fehler beim Ausführen von Valorant unter Windows 11 Fix: VAN 1067-Fehler beim Ausführen von Valorant unter Windows 11 May 22, 2023 pm 02:41 PM

Das Betriebssystem sieht viel besser aus als sein Vorgänger und verfügt über spielerorientierte Funktionen wie AutoHDR und DirectStorage, allerdings hatten Valorant-Spieler einige Probleme beim Starten des Spiels. Dies ist nicht das erste Problem, mit dem Gamer zuvor konfrontiert waren. Valorant lässt sich unter Windows 11 nicht öffnen. Dies ist ein weiteres Problem, das sie plagt, aber wir haben die Möglichkeiten zur Behebung beschrieben. Nun scheint es, dass Valorant-Spieler, die auf Windows 11 umgestiegen sind, aufgrund von Secure Boot und TPM2.0-Diensten mit Problemen konfrontiert sind, die dazu führen, dass im Spielmenü während der Ausführung nur eine Exit-Option angezeigt wird. Viele Benutzer erhalten den Fehler VAN1067, aber das sollte kein Grund zur Beunruhigung sein

Wie deaktiviere ich die automatische Videowiedergabe im Opera-Browser? Wie deaktiviere ich die automatische Videowiedergabe im Opera-Browser? Apr 22, 2023 pm 10:43 PM

Die neueste Version des Opera-Browsers enthält eine neue automatische Video-Popup-Funktion. Wenn Sie diese Funktion verwenden, werden Sie feststellen, dass das Video automatisch angezeigt wird, wenn Sie zu einem anderen Tab in Ihrem Browser navigieren. Es wurde festgestellt, dass dieses Popup-Video in der Größe geändert und auf dem Bildschirm verschoben werden kann. Wenn Sie zurück zur Registerkarte „Videos“ navigieren, wird diese fortgesetzt und das schwebende Fenster verschwindet. Die Video-Popup-Funktion ist nützlich für Multitasking-Benutzer, die während der Arbeit gerne Videos ansehen. Allerdings wird nicht jedem Opera-Benutzer diese automatische Video-Popup-Funktion gefallen. Wenn Sie zu den Nutzern des Opera-Browsers gehören, die sich darüber ärgern, dass bei jedem Tab-Wechsel Videos auftauchen, dann haben Sie den richtigen Beitrag gefunden. Hier erfahren Sie, wie Sie dieses Popup in Opera deaktivieren

Die DirectX-Funktion GetDeviceRemovedReason schlägt mit einem Fehler fehl Die DirectX-Funktion GetDeviceRemovedReason schlägt mit einem Fehler fehl May 17, 2023 pm 03:38 PM

Fast jedes High-End-Spiel, das wir spielen, verlässt sich auf DirectX, um effizient zu laufen. Einige Benutzer berichteten jedoch, dass sie auf die DirectX-Funktion GetDeviceRemovedReasonfailedwith gefolgt von der Fehlerursache gestoßen seien. Die oben genannten Gründe sind für den Durchschnittsbenutzer nicht offensichtlich und erfordern ein gewisses Maß an Recherche, um die Grundursache und die effektivste Lösung zu ermitteln. Zur Vereinfachung haben wir diesem Problem dieses Tutorial gewidmet. In den folgenden Abschnitten helfen wir Ihnen, die möglichen Ursachen zu identifizieren und führen Sie durch die Schritte zur Fehlerbehebung, um die DirectX-Funktion GetDeviceRemovedReasonfailedwitherror zu beseitigen. welche Ursachen

Um dies zu beheben, müssen Sie eine interaktive Fensterstation verwenden Um dies zu beheben, müssen Sie eine interaktive Fensterstation verwenden Apr 24, 2023 pm 11:52 PM

Dieser Vorgang erfordert eine interaktive Fensterstation, was ein ziemlich seltsamer Fehler ist. Softwarefenster, die Benutzern die Interaktion mit der App ermöglichen, sind nicht geöffnet. Sie müssen sie aktivieren. Dieser Fehler wurde mit der 2021 Printing Nightmare-Schwachstelle in Verbindung gebracht. Es besteht jedoch bis heute weiterhin und wirkt sich auf Ihren Computer und Ihre Gerätetreiber aus. Glücklicherweise ist es leicht zu beheben. Warum tritt dieser Fehler überhaupt auf? Bevor Sie beschreiben, wie Sie diesen Fehler beheben können, müssen Sie unbedingt die Ursachen dieses Fehlers auflisten. Auf diese Weise können Sie die notwendigen Schritte unternehmen, um sicherzustellen, dass so etwas nicht noch einmal passiert. Beschädigte Dateien bringen Ihre Computerdateien durcheinander – Beschädigungen können verschiedene Ursachen haben, von Malware bis hin zu Stromausfällen. Es wird empfohlen, einen SFC-Scan durchzuführen. Sie haben eine übereifrige Antiviren-App – Antivirensoftware blockiert manchmal

See all articles