Я использую Web Components v1.
Предположим, что два пользовательских элемента:
Родитель-element.html
<template id="parent-element">
<child-element></child-element>
</template>
ребенок-element.html
<template id="child-element">
<!-- some markup here -->
</template>
Я пытаюсь использовать connectedCallback
в parent-element
чтобы инициализировать всю структуру DOM родительского/дочернего, когда он присоединен, что требует взаимодействия с методами, определенными в child-element
.
Тем не менее, кажется, что child-element
не определен правильно в момент, когда connectedCallback
запускается для customElement
:
родитель-element.js
class parent_element extends HTMLElement {
connectedCallback() {
//shadow root created from template in constructor previously
var el = this.shadow_root.querySelector("child-element");
el.my_method();
}
}
Это не сработает, потому что el
является HTMLElement
а не child-element
как ожидалось.
Мне нужен обратный вызов для parent-element
только все дочерние пользовательские элементы в его шаблоне будут правильно прикреплены.
Решение в этом вопросе, похоже, не работает; this.parentElement
- null
внутри child-element
connectedCallback()
.
ilmiont