Skip to content
Mithril.js 2
Main Navigation GuideAPI

Français

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

Français

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

Apparence

Sidebar Navigation

API

API principale

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)

API optionnelle

stream()

Guide

Sur cette page

fragment(attrs, children) ​

Description ​

Permet d'associer des méthodes de cycle de vie à un fragment 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 }, [
        // un fragment contenant deux éléments
        m('li', 'child 3'),
        m('li', 'child 4'),
      ])
    : null,
]);

Signature ​

Génère un vnode de type fragment.

vnode = m.fragment(attrs, children)

ArgumentTypeRequiredDescription
attrsObjectNoAttributs HTML ou propriétés de l'élément.
childrenArray<Vnode>|String|Number|BooleanNoVnodes enfants. Peut être écrit sous forme d'arguments splat.
returnsVnodeUn vnode de type fragment.

Comment lire les signatures

Fonctionnement ​

m.fragment() crée un vnode de type fragment avec des attributs. Il est destiné aux cas d'utilisation avancés impliquant des clés ou des méthodes de cycle de vie.

Un vnode de type fragment représente une liste d'éléments DOM. Si vous souhaitez un vnode qui représente un seul élément DOM et que vous n'avez pas besoin de logique de clé, vous devriez plutôt utiliser m().

Normalement, vous pouvez utiliser de simples tableaux ou des splats à la place pour désigner une liste de nœuds :

javascript
var groupVisible = true;

m(
  'ul',
  m('li', 'child 1'),
  m('li', 'child 2'),
  groupVisible
    ? [
        // un fragment contenant deux éléments
        m('li', 'child 3'),
        m('li', 'child 4'),
      ]
    : null
);

Cependant, les tableaux JavaScript ne peuvent pas être indexés ou contenir des méthodes de cycle de vie. Une option serait de créer un élément enveloppant pour héberger la clé ou la méthode de cycle de vie, mais il n'est parfois pas souhaitable d'avoir un élément supplémentaire (par exemple, dans des structures de table complexes). Dans ces cas, un vnode de type fragment peut être utilisé à la place.

L'utilisation de m.fragment au lieu d'écrire manuellement une structure d'objet vnode présente quelques avantages : m.fragment crée des vnodes monomorphiques, qui ont de meilleures caractéristiques de performance que la création dynamique d'objets. De plus, l'utilisation de m.fragment indique clairement vos intentions aux autres développeurs, et cela réduit la probabilité que vous définissiez par erreur des attributs sur l'objet vnode lui-même plutôt que sur sa map attrs.

Pager
Page précédentetrust(html)
Page suivanteredraw()

Publié sous la licence MIT.

Copyright (c) 2024 Mithril Contributors

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

Publié sous la licence MIT.

Copyright (c) 2024 Mithril Contributors