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

Bien démarrer

Installation

Application Simple

Ressources

JSX

ES6+ sur les navigateurs anciens

Animations

Tests

Exemples

Intégration de librairies externes

Gestion des Chemins

Concepts clés

Nœuds du DOM virtuel

Composants

Méthodes de cycle de vie

Keys

Le système de rafraîchissement automatique

Divers

Comparaison des frameworks

Migration depuis la version 1.x

Migration depuis la v0.2.x

API

Sur cette page

Intégration de librairies externes ​

L'intégration avec des librairies externes ou du code JavaScript pur peut être réalisée via les méthodes de cycle de vie.

Exemple noUiSlider ​

javascript
/** Composant encapsuleur pour NoUiSlider */
function Slider() {
  var slider;

  return {
    oncreate: function (vnode) {
      // Initialiser la librairie externe ici
      slider = noUiSlider.create(vnode.dom, {
        start: 0,
        range: { min: 0, max: 100 },
      });
      slider.on('update', function (values) {
        vnode.attrs.onChange(values[0]);
        m.redraw();
      });
    },
    onremove: function () {
      // Nettoyer la librairie externe lors de la suppression du composant
      slider.destroy();
    },
    view: function () {
      return m('div');
    },
  };
}

/** Composant d'application de démonstration */
function Demo() {
  var showSlider = false;
  var value = 0;

  return {
    view: function () {
      return m(
        '.app',
        m(
          'p',
          m(
            'button',
            {
              type: 'button',
              onclick: function () {
                showSlider = !showSlider;
              },
            },
            showSlider ? 'Supprimer le curseur' : 'Afficher le curseur'
          )
        ),
        showSlider &&
          m(Slider, {
            onChange: function (v) {
              value = v;
            },
          }),
        m('p', value)
      );
    },
  };
}

m.mount(document.body, Demo);

Démonstration en direct

Exemple Bootstrap FullCalendar ​

javascript
/** Composant encapsuleur pour FullCalendar */
var FullCalendar = {
  oncreate: function (vnode) {
    console.log('FullCalendar::oncreate');
    $(vnode.dom).fullCalendar({
      // Insérez vos options initiales et callbacks ici
    });
  },
  onremove: function (vnode) {
    // Exécutez toutes les méthodes de nettoyage ici.
    $(vnode.dom).fullCalendar('destroy');
  },
  view: function (vnode) {
    return m('div');
  },
};

/** Composant d'application de démonstration */
function Demo() {
  var fullCalendarEl;

  function next() {
    $(fullCalendarEl).fullCalendar('next');
  }

  function prev() {
    $(fullCalendarEl).fullCalendar('prev');
  }

  return {
    view: function (vnode) {
      return [
        m('h1', 'Calendar'),
        m(FullCalendar, {
          oncreate: function (vnode) {
            fullCalendarEl = vnode.dom;
          },
        }),
        m(
          'button',
          {
            onclick: prev,
          },
          'Bouton - Mithril.js'
        ),
        m(
          'button',
          {
            onclick: next,
          },
          'Bouton + Mithril.js'
        ),
      ];
    },
  };
}

m.mount(document.body, Demo);

Démonstration en direct

Pager
Page précédenteExemples
Page suivanteGestion des Chemins

Publié sous la licence MIT.

Copyright (c) 2024 Mithril Contributors

https://mithril.js.org/integrating-libs.html

Publié sous la licence MIT.

Copyright (c) 2024 Mithril Contributors