Skip to content
Mithril.js 2
Main Navigation ガイドAPI

日本語

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

日本語

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

外観

Sidebar Navigation

API

コア API

m(selector, attributes, children)

render(element, vnodes)

mount(root, component)

route(root, defaultRoute, routes)

request(options)

parseQueryString(string)

buildQueryString(object)

buildPathname(object)

parsePathname(文字列型)

trust(html)

fragment(attrs, children)

redraw()

censor(object, extra)

オプション API

stream()

ガイド

このページの内容

fragment(attrs, children) ​

Description ​

フラグメント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 }, [
        // 2つの要素からなるフラグメント
        m('li', 'child 3'),
        m('li', 'child 4'),
      ])
    : null,
]);

Signature ​

フラグメントvnodeを生成します。

vnode = m.fragment(attrs, children)

引数型必須説明
attrsObject任意HTML属性または要素のプロパティ
childrenArray<Vnode>|String|Number|Boolean任意子vnode。スプラット引数形式で指定可能。
戻り値Vnodeフラグメントvnode

シグネチャの読み方

How it works ​

m.fragment()は、属性を持つフラグメントvnodeを作成します。keyやライフサイクルメソッドを扱う高度なユースケースに適しています。

フラグメントvnodeは、DOM要素のリストを表現します。単一のDOM要素を表し、キー処理が不要な通常の要素vnodeが必要な場合は、代わりにm()を使用してください。

通常、ノードのリストを表現するには、単純な配列やスプレッド構文を使用できます。

javascript
var groupVisible = true;

m(
  'ul',
  m('li', 'child 1'),
  m('li', 'child 2'),
  groupVisible
    ? [
        // 2つの要素からなるフラグメント
        m('li', 'child 3'),
        m('li', 'child 4'),
      ]
    : null
);

ただし、JavaScriptの配列では、キーの設定やライフサイクルメソッドの保持ができません。解決策の一つとして、keyやライフサイクルメソッドを保持するためにラッパー要素を作成する方法がありますが、(例えば複雑なテーブル構造などでは)余分な要素を追加したくない場合があります。そのような場合に、フラグメントvnodeを使用できます。

vnodeオブジェクトを手動で作成するよりもm.fragmentを使用することには、いくつかの利点があります。m.fragmentは単相オブジェクトを生成するため、動的にオブジェクトを生成するよりもパフォーマンスの面で有利です。さらに、m.fragmentを使用することで、他の開発者が意図を理解しやすくなり、vnodeオブジェクト自体ではなくattrsオブジェクトに誤って属性を設定してしまう可能性を減らすことができます。

Pager
前のページtrust(html)
次のページredraw()

MITライセンス の下で公開されています。

Copyright (c) 2024 Mithril Contributors

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

MITライセンス の下で公開されています。

Copyright (c) 2024 Mithril Contributors