Skip to content
Mithril.js 2
Main Navigation AnleitungAPI

Deutsch

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Deutsch

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Aussehen

Sidebar Navigation

Erste Schritte

Installation

Einfache Anwendung

Ressourcen

JSX

ES6+ in älteren Browsern

Animationen

Testen

Beispiele

Integration von Drittanbietern

Pfadverarbeitung

Schlüsselkonzepte

Virtuelle DOM Knoten

Komponenten

Lebenszyklus-Methoden

Keys

Das Auto-Redraw-System

Sonstiges

Framework-Vergleich

Migration von v1.x

Migration von v0.2.x auf v2.x

API

Auf dieser Seite

Wie man Signaturen liest ​

Signaturabschnitte sehen typischerweise so aus:

vnode = m(selector, attributes, children)

ArgumentTypErforderlichBeschreibung
selectorString|ObjectJaEin CSS-Selektor oder eine Komponente
attributesObjectNeinHTML-Attribute oder Element-Eigenschaften
childrenArray<Vnode>|String|Number|BooleanNeinKind-VNodes. Kann als Splat-Argumente geschrieben werden
returnsVnodeEin Vnode, der zurückgegeben wird.

Die Signaturzeile über der Tabelle gibt die allgemeine Syntax der Methode an und zeigt den Namen der Methode, die Reihenfolge ihrer Argumente und einen vorgeschlagenen Variablennamen für den Rückgabewert.

Die Spalte Argument in der Tabelle gibt an, welcher Teil der Signatur in der jeweiligen Tabellenzeile erläutert wird. Die returns-Zeile enthält Informationen zum Rückgabewert.

Die Spalte Typ gibt den erwarteten Datentyp für das Argument an.

Ein Pipe-Symbol (|) gibt an, dass ein Argument gültig ist, wenn es einen der aufgeführten Typen hat. Zum Beispiel gibt String|Object an, dass selector entweder ein String oder ein Objekt sein kann.

Winkelklammern (< >) nach einem Array geben den erwarteten Typ für Array-Elemente an. Zum Beispiel gibt Array<String> an, dass das Argument ein Array sein muss und dass alle Elemente in diesem Array Strings sein müssen. Winkelklammern nach einem Object geben eine Map an. Zum Beispiel gibt Object<String,Component> an, dass das Argument ein Objekt sein muss, dessen Schlüssel Strings und deren Werte Komponenten sind.

Manchmal werden spezielle Typen verwendet, um anzuzeigen, dass eine bestimmte Objektsignatur erforderlich ist. Zum Beispiel ist Vnode ein Objekt mit einer virtuellen DOM-Node-Struktur.

Die Spalte Erforderlich zeigt an, ob ein Argument erforderlich oder optional ist. Wenn ein Argument optional ist, kann es auf null oder undefined gesetzt oder ganz weggelassen werden, sodass das nächste Argument an dessen Stelle erscheint.

Optionale Argumente ​

Funktionsargumente, die von eckigen Klammern [ ] umgeben sind, sind optional. Im folgenden Beispiel ist url ein optionales Argument:

m.request([url,] options)

Splats ​

Ein Splat-Argument bedeutet, dass Sie, wenn das Argument ein Array ist, die eckigen Klammern weglassen und stattdessen eine variable Anzahl an Argumenten an die Methode übergeben können.

Im Beispiel oben bedeutet dies, dass m("div", {id: "foo"}, ["a", "b", "c"]) auch als m("div", {id: "foo"}, "a", "b", "c") geschrieben werden kann.

Splats sind in einigen Compile-to-JS-Sprachen wie CoffeeScript nützlich und ermöglichen auch hilfreiche Kurzformen für einige häufige Anwendungsfälle.

Funktionssignaturen ​

Funktionen werden mit einem Pfeil (->) gekennzeichnet. Die linke Seite des Pfeils gibt die Typen der Eingabeargumente an und die rechte Seite gibt den Typ des Rückgabewerts an.

Zum Beispiel hat parseFloat die Signatur String -> Number, d. h. sie erwartet einen String als Eingabe und gibt eine Zahl als Ausgabe zurück.

Funktionen mit mehreren Argumenten werden mit Klammern gekennzeichnet: (String, Array) -> Number

Komponentensignaturen ​

Komponenten werden durch Aufrufe von m definiert, wobei das erste Argument (der Selektor) auf eine im Text definierte Konstante gesetzt wird:

vnode = m(m.route.Link, attributes, children)

ArgumentTypErforderlichBeschreibung
attributes.hrefObjectJaDie Zielroute für die Navigation.
attributes.selectorString|Object|FunctionNeinHiermit wird der Name des zu verwendenden HTML-Elements festgelegt. Falls angegeben, muss es sich um einen gültigen Selektor für m handeln. Der Standardwert ist "a".
attributes.optionsObjectNeinDies setzt die Optionen, die an m.route.set übergeben werden.
attributesObjectNeinWeitere Attribute für den zurückgegebenen VNode können übergeben werden.
childrenArray<Vnode>|String|Number|BooleanNeinVNodes für Kindelemente.
returnsVnodeEin Vnode.

Sofern nicht anders angegeben, können Kindelemente hier als Splat-Argumente übergeben werden.

Ein Element ohne untergeordnete Elemente und/oder Attribute kann den relevanten Parameter ganz weglassen:

vnode = m(Component, attributes)

ArgumentTypErforderlichBeschreibung
attributes.hrefObjectJaDas Ziel
attributesObjectNeinWeitere Attribute für den zurückgegebenen Vnode
returnsVnodeEin Vnode
Pager
Nächste SeiteInstallation

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2024 Mithril Contributors

https://mithril.js.org/signatures.html

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2024 Mithril Contributors