17
按照Polymer docs,因爲......聚合物和WebComponentsReady事件
的polyfills解析元素定義和異步處理的升級
WebComponentsReady
事件是必要的。如果您在DOM有可能升級之前過早地從DOM獲取元素,那麼您將使用HTMLUnknownElement。在這些情況下,等待WebComponentsReady事件與元素
我有進口的單一Web組件並註冊登錄,當所有網絡組件加載到語句的處理程序的HTML頁面交互之前:
<!DOCTYPE html>
<html>
<head>
<script src="bower_components/platform/platform.js"></script>
<link rel="import" href="elements/my-element.html">
</head>
<body unresolved>
<my-element></my-element>
<script>
window.addEventListener('WebComponentsReady', function(e) {
console.log('components ready');
});
</script>
</body>
</html>
爲什麼WebComponentsReady
事件在我的元素的ready
聚合物事件之前發射?我需要知道什麼時候可以與自定義元素進行互動,例如,改變它的屬性並且調用它的公共方法。
太好了,謝謝你提供的信息。完美運作。 – bitpshr
由於OP中給出的原因,Fwiw,'WebComponentsReady'仍然由CustomElements填充。這在自己使用CustomElements聚合填充時非常有用。 另外fwiw,Polymer使用單獨的「聚合物就緒」事件來支持使用遠程樣式表的組件,而不使用FOUC。 –
我有同樣的問題,但是因爲我在''聚合物準備好''''之後插入了我的自定義元素,所以我無法使用它,我需要聽取各個元素準備好的事件。不幸的是,這些元素在那個點上沒有準備好的函數''(例如myElement.ready(doSomething()))''',因爲polyfills稍後會添加這些方法。我能做些什麼來解決這個問題? –