У меня есть атрибуты в пользовательском элементе JS
static get observedAttributes() {
return ['state','color'];
}
Как получить массив целом в функциях Callback
пользовательского элемента?
this.observedAttributes()
не является функцией
Должно быть, я что-то упускаю из виду ...
Обновление после вопроса в комментарии:
Я все время забывал о геттере и сеттерах
Теперь я могу сделать это в конструкторе ():
this.constructor.observedAttributes.map(attribute =>
Object.defineProperty(this, attribute, {
get() {
return obj.getAttribute(attribute);
},
set(newValue) {
obj.setAttribute(attribute, newValue);
},
enumerable: true,//default:false
configurable: true // default:false
//writable: true // not valid, since there is a set method!
}));
(не заботятся о побочных эффектах потребления памяти)