Вот простой пример того, как вы можете составлять веб-компоненты.
Использование компонента:
В index.js я импортировал компонент кнопки и импортировал компонент с import './SandboxViewComponent';
В index.html я объявляю мой с <my-sandbox-view></my-sandboxy-view>
.
Источник ниже
SandboxViewComponent.js
import template from './SandboxViewComponent.html';
class SandboxViewComponent extends HTMLElement {
constructor() {
super()
this.innerHTML = template;
}
connectedCallback() {
var me = this;
// Add after the buttonEl.ext.el is instantiated
setTimeout(() => {
setTimeout(() => {
me._addListeners();
}, 0);
}, 0);
}
disconnectedCallback() {
}
attributeChangedCallback(attrName, oldVal, newVal) {
}
_addListeners() {
var buttonEl = this.querySelector("ext-button");
button.ext.on("tap", function () {
alert("tap 1 works");
});
button.ext.addListener("tap", function() {
alert("tap 2 works");
});
buttonEl.ext.el.on('click', () => {
alert('ext on click works');
});
}
}
window.customElements.define('my-sandbox-view', SandboxViewComponent);
SandboxViewComponent.html
<div>Sandbox View</div>
<ext-button
text="Button 1"
shadow="true"
arrowAlign="bottom"
></ext-button>