Objects
Binding attributes allow objects from one component to be passed into another.
In the following example, the my-page component uses my-component in it's template. The sourceProperty property is passed into my-component's message property using my-component's binding attribute wr-message.
class MyPage extends wire.ui.WebComponent {
sourceProperty = "Hello web components";
static get template() {
return '<my-component wr-message="sourceProperty"></my-component>';
}
}
customElements.define('my-page', MyPage);<!-- Output -->
<div>Hello web components</div>Property Reference
In the previous example, sourceProperty was a primitive string value. In the example below, sourceProperty is changed to an object with a single property sourceMessage. The same value is passed into my-component by setting the binding attribute wr-message to sourceMessage on sourceProperty.
class MyPage extends wire.ui.WebComponent {
sourceProperty = {
sourceMessage: "Hello web components";
}
static get template() {
return '<my-component wr-message="sourceProperty.sourceMessage"></my-component>';
}
}Object Reference
In the example below, rather than passing a single property on sourceProperty into my-component, the object itself is passed into my-component.
class MyPage extends wire.ui.WebComponent {
sourceProperty = {
sourceMessage: "Hello web components";
}
static get template() {
return '<my-component wr-message="sourceProperty"></my-component>';
}
}The object can then be referenced in my-components' template using the local property message.
class MyComponent extends wire.ui.WebComponent {
static get properties() {
return {
message: true
}
}
static get template() {
return '<div wr-text="message.sourceMessage"></div>';
}
}Last updated