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.
Optionalselector: stringa jQuery-compatible selector string
the jQuery object for the DOM node
Build an item list for the sidebar of the index page. By default this is a "New Discussion" button, and then a DropdownSelect component containing a list of navigation items.
Build an item list for the navigation in the sidebar of the index page. By default this is just the 'All Discussions' link.
Open the composer for a new discussion or prompt the user to login.
StaticcomponentConvenience method to attach a component without JSX.
Has the same effect as calling m(THIS_CLASS, attrs, children).
StaticinitInitialize the component's attrs.
This can be used to assign default values for missing, optional attrs.
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