To initialize a behavior its dependecies have to be injected first,then the binding to its value has to be processed and finally thedefined bindings have to be set up.
This has to be done for all definitions along the prototype chain to makesure inherited features don't break.
The actual string literal of the attribute used for the current behavior instance.
The element the behavior was attached to.
This static property lets you define listeners that will be executed whenproperties of the behavior change.
It should be a map where the keys are paths that should be watched on the behavior instanceand the values are names of methods that will be invoked on it when the valueat a path changes.
The following example shows a behavior that reacts to a change in the height ofthe defining element.
export default class MyBehavior extends Behavior { static inject: {element: Element}; static bindings = { 'element.clientHeight': 'heightChange' }; width: number; heightChange(height: number) { this.width = height * 2; }}
Updates the HTML inside the element.
The Content behavior can be used to automatically add and change HTMLinside of an element. The value should be an expression that results toa string containing your HTML. Be aware that content is created as isan might be vulnerable. If the value is user input you should make sureit is properly escaped.
Example
This simple example parses the value of the html property looked upin the element's local scope.
<div content="html"></div>
{ default } from mahalo/behaviors/content