Skip to content
Mithril.js 2
Main Navigation GuíaAPI

Español

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

Español

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

Apariencia

Sidebar Navigation

API

API principal

m(selector, attributes, children)

render(elemento, vnodes)

mount(root, component)

route(root, defaultRoute, routes)

request(options)

parseQueryString(string)

buildQueryString(objeto)

buildPathname(objeto)

parsePathname(string)

trust(html)

fragment(attrs, children)

redraw()

censor(object, extra)

API opcional

stream()

Guía

En esta página

fragment(attrs, children) ​

Descripción ​

Permite adjuntar métodos de ciclo de vida a un fragmento 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 fragmento que contiene dos elementos
        m('li', 'child 3'),
        m('li', 'child 4'),
      ])
    : null,
]);

Firma ​

Genera un fragmento vnode.

vnode = m.fragment(attrs, children)

ArgumentoTipoRequeridoDescripción
attrsObjectNoAtributos HTML o propiedades del elemento.
childrenArray<Vnode>|String|Number|BooleanNoNodos hijos vnodes. Se puede escribir como argumentos splat.
devuelveVnodeUn fragmento vnode.

Cómo leer firmas

Cómo funciona ​

m.fragment() crea un fragmento vnode con atributos. Está destinado a casos de uso avanzados que involucran claves o métodos de ciclo de vida.

Un fragmento vnode representa una lista de elementos del DOM. Si se desea un vnode de elemento regular que represente solo un elemento del DOM y no requiera lógica de clave, se debe usar m() en su lugar.

Normalmente, se pueden usar arrays simples o splats para denotar una lista de nodos:

javascript
var groupVisible = true;

m(
  'ul',
  m('li', 'child 1'),
  m('li', 'child 2'),
  groupVisible
    ? [
        // un fragmento que contiene dos elementos
        m('li', 'child 3'),
        m('li', 'child 4'),
      ]
    : null
);

Sin embargo, los arrays de JavaScript no pueden tener claves ni contener métodos de ciclo de vida. Una opción sería crear un elemento contenedor para alojar la clave o el método de ciclo de vida, pero a veces no es deseable tener un elemento adicional (por ejemplo, en estructuras de tablas complejas). En esos casos, se puede usar un fragmento vnode en su lugar.

Usar m.fragment en lugar de escribir manualmente una estructura de objeto vnode ofrece varios beneficios. Por ejemplo, m.fragment crea objetos monomórficos, que tienen mejores características de rendimiento que la creación dinámica de objetos. Además, usar m.fragment comunica claramente las intenciones a otros desarrolladores. Esto reduce la probabilidad de establecer atributos incorrectamente en el objeto vnode en lugar de en su mapa attrs.

Pager
Anteriortrust(html)
Siguienteredraw()

Publicado bajo la licencia MIT.

Copyright (c) 2024 Mithril Contributors

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

Publicado bajo la licencia MIT.

Copyright (c) 2024 Mithril Contributors