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

Per iniziare

Installazione di Mithril.js

Applicazione semplice

Risorse

JSX

ES6+ su browser legacy

Animazioni

Testing

Esempi

Integrazione di terze parti

Gestione dei Percorsi

Concetti chiave

Nodi del DOM virtuale

Componenti

Metodi del Ciclo di Vita

Chiavi

Il sistema di aggiornamento automatico

Varie

Confronto tra i Framework

Migrazione da v1.x

Migrazione da v0.2.x

API

In questa pagina

Integrazione di terze parti ​

L'integrazione con librerie di terze parti o codice JavaScript vanilla può essere realizzata tramite i metodi del ciclo di vita.

Esempio noUiSlider ​

javascript
/** Componente wrapper per noUiSlider */
function Slider() {
  var slider;

  return {
    oncreate: function (vnode) {
      // Inizializza la libreria di terze parti
      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 () {
      // Esegue la pulizia della libreria di terze parti durante la rimozione
      slider.destroy();
    },
    view: function () {
      return m('div');
    },
  };
}

/** Componente demo dell'applicazione */
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 ? 'Elimina Slider' : 'Crea Slider'
          )
        ),
        showSlider &&
          m(Slider, {
            onChange: function (v) {
              value = v;
            },
          }),
        m('p', value)
      );
    },
  };
}

m.mount(document.body, Demo);

Demo Live

Esempio Bootstrap FullCalendar ​

javascript
/** Componente wrapper per FullCalendar */
var FullCalendar = {
  oncreate: function (vnode) {
    console.log('FullCalendar::oncreate');
    $(vnode.dom).fullCalendar({
      // Inserisci qui le opzioni e i callback iniziali
    });
  },
  onremove: function (vnode) {
    // Esegui qui eventuali metodi di distruzione o pulizia.
    $(vnode.dom).fullCalendar('destroy');
  },
  view: function (vnode) {
    return m('div');
  },
};

/** Componente demo dell'applicazione */
function Demo() {
  var fullCalendarEl;

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

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

  return {
    view: function (vnode) {
      return [
        m('h1', 'Calendario'),
        m(FullCalendar, {
          oncreate: function (vnode) {
            fullCalendarEl = vnode.dom;
          },
        }),
        m(
          'button',
          {
            onclick: prev,
          },
          'Pulsante Mithril.js (meno)'
        ),
        m(
          'button',
          {
            onclick: next,
          },
          'Pulsante Mithril.js (più)'
        ),
      ];
    },
  };
}

m.mount(document.body, Demo);

Demo Live

Pager
Pagina precedenteEsempi
Pagina successivaGestione dei Percorsi

Rilasciato sotto la licenza MIT.

Copyright (c) 2024 Mithril Contributors

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

Rilasciato sotto la licenza MIT.

Copyright (c) 2024 Mithril Contributors