The attributes passed into the component.
The root DOM element for the component.
Class component state that is persisted between redraws.
Updating this will not automatically trigger a redraw, unlike other frameworks.
This is different to Vnode state, which is always an instance of your class component.
This is undefined
by default.
Returns a jQuery object for this component's element. If you pass in a selector string, this method will return a jQuery object, using the current element as its buffer.
For example, calling component.$('li')
will return a jQuery object
containing all of the li
elements inside the DOM element of this
component.
the jQuery object for the DOM node
Saves a reference to the vnode attrs after running them through initAttrs, and checking for common issues.
Convenience method to attach a component without JSX.
Has the same effect as calling m(THIS_CLASS, attrs, children)
.
Initialize the component's attrs.
This can be used to assign default values for missing, optional attrs.
Generated using TypeDoc version 0.22.10
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:
oninit
andonbeforeupdate
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.initAttrs
method 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.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.return m('div', );
Hello World
return m('div', MyComponent.component({foo: 'bar'), m('p', 'Hello World!'));
https://mithril.js.org/components.html