Skip to content
Mithril.js 2
Main Navigation GuidaAPI

Italiano

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

Italiano

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

Aspetto

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 opzionale

stream()

Guida

In questa pagina

fragment(attrs, children) ​

Descrizione ​

Permette di associare metodi del ciclo di vita a 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 contenente due elementi
        m('li', 'child 3'),
        m('li', 'child 4'),
      ])
    : null,
]);

Firma ​

Genera un fragment vnode.

vnode = m.fragment(attrs, children)

ArgomentoTipoRichiestoDescrizione
attrsObjectNoAttributi HTML o proprietà dell'elemento DOM.
childrenArray<Vnode>|String|Number|BooleanNoVnode figli. Può essere specificato tramite parametri splat.
restituisceVnodeUn fragment vnode.

Come leggere le firme

Come funziona ​

m.fragment() crea un vnode fragment con attributi. È pensato per casi d'uso avanzati che richiedono l'uso di key o metodi del ciclo di vita.

Un fragment vnode rappresenta un elenco di elementi DOM. Se si desidera un vnode elemento normale che rappresenti un singolo elemento DOM e non si ha bisogno di una logica basata su key, si dovrebbe invece usare m().

Normalmente si possono usare semplici array o splat per rappresentare un elenco di nodi:

javascript
var groupVisible = true;

m(
  'ul',
  m('li', 'child 1'),
  m('li', 'child 2'),
  groupVisible
    ? [
        // un fragment contenente due elementi
        m('li', 'child 3'),
        m('li', 'child 4'),
      ]
    : null
);

Tuttavia, gli array JavaScript non possono essere identificati tramite key o contenere metodi del ciclo di vita. Un'alternativa sarebbe quella di creare un elemento wrapper per contenere la key o il metodo del ciclo di vita, ma a volte non è consigliabile avere un elemento aggiuntivo (ad esempio in strutture di tabelle complesse). In questi casi, si può invece utilizzare un vnode fragment.

Ci sono diversi vantaggi nell'utilizzare m.fragment invece di scrivere manualmente una struttura di oggetti vnode: m.fragment crea oggetti monomorfici, che offrono prestazioni migliori rispetto alla creazione dinamica di oggetti. Inoltre, l'utilizzo di m.fragment rende esplicite le intenzioni agli altri sviluppatori e riduce la probabilità di impostare erroneamente gli attributi sull'oggetto vnode stesso invece che sulla sua mappa attrs.

Pager
Pagina precedentetrust(html)
Pagina successivaredraw()

Rilasciato sotto la licenza MIT.

Copyright (c) 2024 Mithril Contributors

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

Rilasciato sotto la licenza MIT.

Copyright (c) 2024 Mithril Contributors