HTMLImports.whenReady
和window.addEventListener('WebComponentsReady', function(e) {
有什么区别?
Polymer's official documentation说:
Webcomponents.org's official documentation on imports说:
两者有什么区别?
最佳答案
它们几乎是相同的:两者是同时触发的。
因此,您可以在callback
和Event
之间选择自己喜欢的口味。
Nota Bene:如果由于某些原因,您仅引用CustomElement.js
polyfill(即没有HTMLImports.js
功能),则只会引发WebComponentsReady
事件。
(我更喜欢使用Event Handler
,因为在第一种情况下,您需要确保已定义HTMLImports
,并且因为它是唯一记录的API here)
*:当然是不同的!差异在引用的定义中说明。
CustomElement.js
polyfill触发。 HTMLImports.js
之后,它就会由{HTMLImportsLoaded}
polyfill调用。 但是,在正常情况下,由于自定义元素在注册后即刻被实例化,因此这两个事件将一个接一个地发生。
年表
<link rel=import>.onload()
,{HTMLImportsLoaded}
事件,HTMLImports.whenReady()
{WebComponentsReady}
事件更多here。