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

API

Kern-API

m(selector, attributes, children)

render(element, vnodes)

mount(root, component)

route(root, defaultRoute, routes)

request(options)

parseQueryString(string)

buildQueryString(object)

buildPathname(object)

parsePathname(string)

trust(html)

fragment(attrs, children)

redraw()

censor(object, extra)

Optionale API

stream()

Anleitung

Auf dieser Seite

fragment(attrs, children) ​

Beschreibung ​

Ermöglicht das Hinzufügen von Lifecycle-Methoden zu einem Fragment-VNode (vnode).

javascript
var groupVisible = true;
var log = function () {
  console.log('group is now visible');
};

m('ul', [
  m('li', 'child 1'),
  m('li', 'child 2'),
  groupVisible
    ? m.fragment({ oninit: log }, [
        // ein Fragment, das zwei Elemente enthält
        m('li', 'child 3'),
        m('li', 'child 4'),
      ])
    : null,
]);

Signatur ​

Erzeugt einen Fragment-VNode (vnode).

vnode = m.fragment(attrs, children)

ArgumentTypErforderlichBeschreibung
attrsObjectNeinHTML-Attribute oder Eigenschaften des Elements
childrenArray<Vnode>|String|Number|BooleanNeinKind-VNodes (vnodes). Kann als Splat-Argument übergeben werden.
returnsVnodeEin Fragment-VNode (vnode)

So liest man Signaturen

Funktionsweise ​

m.fragment() erstellt einen Fragment-VNode (vnode) mit Attributen. Es ist für fortgeschrittene Anwendungsfälle gedacht, wie z.B. die Verwendung von [Keys] (Schlüsseln) oder [Lifecycle-Methoden].

Ein Fragment-VNode (vnode) repräsentiert eine Liste von DOM-Elementen. Wenn Sie einen regulären Elementknoten benötigen, der nur ein DOM-Element repräsentiert und keine spezielle Key-Logik erfordert, sollten Sie stattdessen m() verwenden.

In den meisten Fällen können Sie stattdessen einfache Arrays oder Splats verwenden, um eine Liste von Knoten zu definieren:

javascript
var groupVisible = true;

m(
  'ul',
  m('li', 'child 1'),
  m('li', 'child 2'),
  groupVisible
    ? [
        // ein Fragment, das zwei Elemente enthält
        m('li', 'child 3'),
        m('li', 'child 4'),
      ]
    : null
);

JavaScript-Arrays können jedoch nicht mit Schlüsseln versehen werden oder Lifecycle-Methoden enthalten. Eine Möglichkeit wäre, ein Wrapper-Element zu erstellen, um den Schlüssel oder die Lifecycle-Methode aufzunehmen, aber dies ist manchmal unerwünscht (z. B. in komplexen Tabellenstrukturen). In diesen Fällen kann stattdessen ein Fragment-VNode (vnode) verwendet werden.

Die Verwendung von m.fragment anstelle einer manuell erstellten VNode-Objektstruktur bietet einige Vorteile: m.fragment erstellt monomorphe Objekte, die eine bessere Performance aufweisen als die dynamische Erstellung von Objekten. Zudem macht die Verwendung von m.fragment Ihre Absichten für andere Entwickler deutlicher. Es ist auch weniger wahrscheinlich, dass Sie versehentlich Attribute direkt auf das VNode-Objekt statt auf dessen attrs-Map setzen.

Pager
Vorherige Seitetrust(html)
Nächste Seiteredraw()

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2024 Mithril Contributors

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

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2024 Mithril Contributors