Прослушивание всех изменений атрибутов в пользовательском элементе DOM - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь добиться поведения установщика-получателя для атрибутов (например, attributeChangedCallback) с всеми атрибутами (текущими и новыми).

attributeChangedCallback не даст мне этой функциональности, потому что когда я не указываю observedAttributes, она никогда не вызывается. Эта проблема с github прояснила, что это, вероятно, не будет возможно в ближайшее время.

Учитывая все это, есть ли другой способ прослушать все изменения атрибутов?

Моя неудачная попытка:

Я пытался использовать прокси для добавления установщика в объект attributes элемента, но прокси не был вызван, когда я добавил новые атрибуты. Код прокси:

Object.setPrototypeOf($0.attributes, new Proxy(props, {
    set(target, key, value) {
        console.log("Settinging! ", target, key, value)
        Reflect.set(target, key, value)
    }
}))
...