Web 组件:attributeChangedCallback 未触发

Alm*_*dić 1 javascript web-component

这是一个基本的 hello world Web 组件。当属性“who”更改时,不会触发 attributeChangedCallback。检查小提琴

MyElementProto.attributeChangedCallback = function(attr, oldVal, newVal) {
    console.log('attributeChangedCallback triggered');
        if (attr === 'who') {
            this.setWho(newVal);
        }
    };
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/y3kj81nz/5/

Omr*_*ron 5

您需要使用以下setAttribute方法:

window.changeWhoAttr = function() {
    var el = document.querySelector('#custom-tag');
    el.setAttribute('who', 'Universe'); // Instead of el.who = 'Universe'
    console.log('changeWhoAttr triggered');
}
Run Code Online (Sandbox Code Playgroud)

小提琴