The Component class defines a user interface 'building block'. A component
generates a virtual DOM to be rendered on each redraw.
Essentially, this is a wrapper for Mithril's components that adds several useful features:
In the oninit and onbeforeupdate lifecycle hooks, we store vnode attrs in `this.attrs.
This allows us to use attrs across components without having to pass the vnode to every single
method.
The static initAttrs method allows a convenient way to provide defaults (or to otherwise modify)
the attrs that have been passed into a component.
When the component is created in the DOM, we store its DOM element under this.element; this lets
us use jQuery to modify child DOM state from internal methods via the this.$() method.
A convenience component method, which serves as an alternative to hyperscript and JSX.
As with other Mithril components, components extending Component can be initialized
and nested using JSX, hyperscript, or a combination of both. The component method can also
be used.
Defines the child elements that will be rendered within the main container of the hero.
Subclasses MUST implement this method to define the specific content of the hero.
The
Componentclass defines a user interface 'building block'. A component generates a virtual DOM to be rendered on each redraw.Essentially, this is a wrapper for Mithril's components that adds several useful features:
oninitandonbeforeupdatelifecycle hooks, we store vnode attrs in `this.attrs. This allows us to use attrs across components without having to pass the vnode to every single method.initAttrsmethod allows a convenient way to provide defaults (or to otherwise modify) the attrs that have been passed into a component.this.element; this lets us use jQuery to modify child DOM state from internal methods via thethis.$()method.componentmethod, which serves as an alternative to hyperscript and JSX.As with other Mithril components, components extending Component can be initialized and nested using JSX, hyperscript, or a combination of both. The
componentmethod can also be used.Example
Example
See
https://mithril.js.org/components.html