Imports

Instead of setting data on the parent component just to bind it to a child component, use wr-import-* to bring the data directly in to the child component. This binding is a dynamic import that sets the value of the source export into a property on the component. Replace the * with the name of the property.

Default Imports

In the example below, the sourceProperty object will be dynamically imported and set on the message property on my-component.

// sourceProperty.js
const sourceProperty = {
    "Hello web components"; 
}
export default sourceProperty;
class MyPage extends wire.ui.WebComponent {

  static get template() {
    return '<my-component wr-import-message-="./sourceProperty.js"</my-component>';
  }       
}
<!-- Output -->
<div>Hello web components</div>

Named Imports

In the example above, sourceProperty is the default export so there is no need to specify a name for the import. To specify a named import, pass the name as a parameter. Parameters are passed to bindings using the pipe | character.

In the example below, the message property on my-component is set to the sourceProperty export.

// properties.js
const sourceProperty = {
    "Hello web components"; 
}

const anotherProperty = {
    "Some other property"
}

export {sourceProperty, anotherProperty}
class MyPage extends wire.ui.WebComponent {

  static get template() {
    return `<my-component wr-import-message-="./properties.js | sourceProperty"</my-component>`;
  }       
}

Last updated