Skip to content
Mithril.js 2
Main Navigation PrzewodnikAPI

Polski

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

Polski

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

Wygląd

Sidebar Navigation

API

Podstawowe 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(obiekt, extra)

Opcjonalne API

stream()

Przewodnik

Na tej stronie

fragment(attrs, children) ​

Wprowadzenie ​

Umożliwia przypisanie metod cyklu życia do fragmentu vnode.

javascript
var groupVisible = true;
var log = function () {
  console.log('Grupa jest teraz widoczna');
};

m('ul', [
  m('li', 'child 1'),
  m('li', 'child 2'),
  groupVisible
    ? m.fragment({ oninit: log }, [
        // Fragment zawierający dwa elementy
        m('li', 'child 3'),
        m('li', 'child 4'),
      ])
    : null,
]);

Składnia ​

Generuje fragment vnode.

vnode = m.fragment(attrs, children)

ArgumentRodzajObowiązkowyOpis
attrsObjectNieAtrybuty HTML lub właściwości elementu.
childrenArray<Vnode>|String|Number|BooleanNiePotomne vnode. Można je przekazać jako argumenty splat.
returnsVnodeFragment vnode.

Jak czytać sygnatury

Zasada działania ​

m.fragment() tworzy fragment vnode z atrybutami. Jest przeznaczony do zaawansowanych przypadków użycia, takich jak klucze lub metody cyklu życia.

Fragment vnode reprezentuje listę elementów DOM. Jeśli potrzebujesz zwykłego vnode reprezentującego pojedynczy element DOM i nie wymagasz logiki opartej na kluczach, użyj m().

Zazwyczaj można użyć prostych tablic lub argumentów splat, aby zdefiniować listę węzłów:

javascript
var groupVisible = true;

m(
  'ul',
  m('li', 'child 1'),
  m('li', 'child 2'),
  groupVisible
    ? [
        // Fragment zawierający dwa elementy
        m('li', 'child 3'),
        m('li', 'child 4'),
      ]
    : null
);

Jednak tablice JavaScript nie mogą być kluczowane ani przechowywać metod cyklu życia. Jedną z opcji byłoby utworzenie elementu opakowującego, który przechowywałby klucz lub metodę cyklu życia, ale czasami dodawanie dodatkowego elementu nie jest pożądane (na przykład w złożonych strukturach tabel). W takich przypadkach można użyć fragmentu vnode.

Używanie m.fragment zamiast ręcznego tworzenia struktury obiektu vnode ma kilka zalet: m.fragment tworzy monomorficzne obiekty, które charakteryzują się lepszą wydajnością niż obiekty tworzone dynamicznie. Ponadto użycie m.fragment jasno komunikuje intencje innym programistom i zmniejsza prawdopodobieństwo, że omyłkowo ustawisz atrybuty na samym obiekcie vnode, zamiast na jego mapie attrs.

Pager
Poprzednia stronatrust(html)
Następna stronaredraw()

Opublikowano na licencji MIT.

Copyright (c) 2024 Mithril Contributors

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

Opublikowano na licencji MIT.

Copyright (c) 2024 Mithril Contributors