In Aurelia 2, a new element called
bindable has been introduced which is leveraged in HTML only custom elements. If you want a HTML only custom element which has one or more bindable properties, then you use the
bindable element to specify them.
The ability to create bindables for HTML only custom elements existed in Aurelia 1, but was limited. The constraint being the bindable keyword had to be specified on the
In Aurelia 2, this now becomes something much more simple and clean because
template is no longer a requirement for HTML only custom elements.
<bindable name="user" />
Besides the semantics changing, you can now also specify the binding mode for the defined variable. This was not possible in Aurelia 1 when creating HTML custom elements.
Now, simply adding a
mode property and valid binding mode value, you can change how the binding works just like you can when configuring the binding mode inside of a view-model.
<bindable name="user" mode="one-way" />