【发布时间】:2017-03-22 09:34:51
【问题描述】:
我是 Web 开发的新手,最近我看到很多关于自定义元素 v1 的辩论和讨论。它们允许您使用自己的自定义行为定义自己的元素,如果使用 Shadow DOM,则使用范围样式。
当我在this 网站上了解它时,我没有理解“自定义元素反应”下的表格。谁能解释使用“构造函数”和“connectedCallback”以及“创建或升级”和“插入 DOM”这两个术语之间的区别?
有关额外信息,我的自定义元素的定义在一个单独的文件中,它使用影子 DOM。我使用 HTML Import 将元素的定义导入到主文档中。
【问题讨论】:
-
如果您执行 var button = document.createElement('fancy-button') 之类的操作,则会调用构造函数,而仅在执行 document.body.appendChild(button); 后才会调用 connectedCallback也就是说,它被附加到dom中的一个元素上。
-
如果我们直接在主文档中声明标签为“
”呢? -
在这种情况下似乎没有真正的区别,除了一个在另一个之前被调用:jsfiddle.net/ddjvxkpd
标签: javascript html web-component shadow-dom custom-element