javascript - Web 组件 : attributeChangedCallback not fired

标签 javascript web-component

这是一个基本的 hello world 网络组件。更改属性“who”时不会触发 attributeChangedCallback。检查 fiddle

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

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

最佳答案

您需要使用 setAttribute方法:

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

Fiddle

关于javascript - Web 组件 : attributeChangedCallback not fired,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36887757/

相关文章:

javascript - jsPlumb 最好的 javascript MVC 框架

javascript - 编辑和删除 firebase

javascript - Slick 轮播边缘的淡入淡出效果

html - polymer 核心下拉值

polymer - 如何在 Vaadin 7 应用程序中添加 Vaadin polymer 元素?

CSS 未完全应用于使用 <slot> 的影子 DOM

javascript - 在更改 div 内的任何复选框时触发一个函数

javascript - 如何将 javascript 变量传递到 Rails Controller 中?

javascript - 纸波纹不火

javascript - Shadow DOM 元素可以继承 CSS 吗?