HTMLImports.whenReadywindow.addEventListener('WebComponentsReady', function(e) {有什么区别?

Polymer's official documentation说:



Webcomponents.org's official documentation on imports说:



两者有什么区别?

最佳答案

它们几乎是相同的:两者是同时触发的。

因此,您可以在callbackEvent之间选择自己喜欢的口味。

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

    09-30 20:48