Lifecycle

attributeChangedCallback

The attributeChangedCallback is called when one of the observed attributes, returned by a static getter method called observedAttributes, is changed.

In Wafer components all properties are automatically observed as attributes, either using the property name itself or the name defined as the attributeName in the props declaration:

import Wafer from "@lamplightdev/wafer";

class MyExample extends Wafer() {
static get props() {
return {
surname: {
type: String,
},
firstname: {
type: String.
attributeName: 'first-name'
},
}
}
}
customElements.define("my-element", MyExample);

const el = document.createElement('my-element');

el.setAttribute('surname', 'Lovelace');
// updates the `surname` prop
// triggers update cycle

el.setAttribute('firstname', 'Ada');
// does *not* update the `firstname` prop
// does *not* trigger update cycle

el.setAttribute('first-name', 'Ada');
// updates the `firstname` prop
// triggers update cycle

Updating any attribute with a matching prop name (or a defined attributeName) always updates the prop value and triggers an update cycle.

Next: update Previous: adoptedCallback