Мой сценарий: у меня есть веб-компонент, созданный с помощью LitElement, который имеет свойство объекта. Чтобы инициализировать его, я жду, когда элемент будет создан:
<script>
document.addEventListener("DOMContentLoaded", () => {
const instance = document.querySelector("#myInstance");
instance.config = {
data: [
{ firstName: "John", lastName: "Doe", age: 32 },
{ firstName: "Jane", lastName: "Boe", age: 30 },
]
};
});
</script>
<my-component id="myInstance"></my-component>
Допустим, я собираюсь время от времени менять эту data
опору. Я хотел бы проверить значение data
после его изменения, а затем решить, что мне делать дальше. Чтобы сделать это, это код моего веб-компонента:
@customElement("my-component")
export class MyComponent extends LitElement {
@property({ type: Object }) data: Object;
protected updated(_changedProperties: Map<PropertyKey, unknown>): void {
console.log(_changedProperties);
}
render() {
return html`
<div>blabla</div>
`;
}
}
Проблема в том, что _changedProperties
карта имеет data
, но она все еще не определена. Что мне здесь не хватает?