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

Primeros pasos

Instalación

Aplicación sencilla

Recursos

JSX

ES6+ en navegadores antiguos

Animaciones

Pruebas

Ejemplos

Integración con terceros

Manejo de Rutas

Conceptos clave

Nodos del DOM virtual

Componentes

Métodos de ciclo de vida

Claves

El sistema de redibujado automático

Varios

Comparación de frameworks

Migrando desde v1.x

Migración desde v0.2.x

API

En esta página

Integración con terceros ​

La integración con bibliotecas de terceros o código JavaScript vanilla se puede lograr a través de métodos de ciclo de vida.

Ejemplo de noUiSlider ​

javascript
/** Componente contenedor de NoUiSlider */
function Slider() {
  var slider;

  return {
    oncreate: function (vnode) {
      // Inicializar la biblioteca de terceros aquí
      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 () {
      // Limpiar la biblioteca de terceros al desmontar el componente
      slider.destroy();
    },
    view: function () {
      return m('div');
    },
  };
}

/** Componente de ejemplo de aplicación */
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 ? 'Destruir Slider' : 'Crear Slider'
          )
        ),
        showSlider &&
          m(Slider, {
            onChange: function (v) {
              value = v;
            },
          }),
        m('p', value)
      );
    },
  };
}

m.mount(document.body, Demo);

Demostración en vivo

Ejemplo de Bootstrap FullCalendar ​

javascript
/** Componente contenedor de FullCalendar */
var FullCalendar = {
  oncreate: function (vnode) {
    console.log('FullCalendar::oncreate');
    $(vnode.dom).fullCalendar({
      // Coloque sus opciones iniciales y callbacks aquí
    });
  },
  onremove: function (vnode) {
    // Ejecute cualquier método de destrucción o limpieza aquí.
    $(vnode.dom).fullCalendar('destroy');
  },
  view: function (vnode) {
    return m('div');
  },
};

/** Componente de ejemplo de aplicación */
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,
          },
          'Mithril.js Button -'
        ),
        m(
          'button',
          {
            onclick: next,
          },
          'Mithril.js Button +'
        ),
      ];
    },
  };
}

m.mount(document.body, Demo);

Demostración en vivo

Pager
AnteriorEjemplos
SiguienteManejo de Rutas

Publicado bajo la licencia MIT.

Copyright (c) 2024 Mithril Contributors

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

Publicado bajo la licencia MIT.

Copyright (c) 2024 Mithril Contributors