>本文探討了聚合物對像中訪問的成員功能,這是聚合物開發人員的常見挑戰。 我們將檢查正確且錯誤的方法,突出顯示陰影DOM封裝的作用。
鑰匙要點
#
>
polymer-ready
聚合物元素是可重複使用的自定義HTML元素,從而提高了Web開發效率。他們與各種JavaScript庫和框架無縫合作。 undefined
>
> 考慮一個Web組件:。 由於陰影DOM封裝,試圖通過ID訪問其ID訪問其功能失敗。 返回的元素不會暴露內部功能;它們顯示為
>。
<x id="radial-button-template"></x>
document.querySelector("#radial-button-template")
正確的方法undefined
方法1:直接元素名稱訪問
最直接的方法是直接在>中直接使用元素的標籤名稱
這繞過陰影域限制並提供對成員功能的直接訪問。 由於這個原因,通常首選避免將ID分配給聚合物元素。>
querySelector
<code class="language-javascript">var btn = document.querySelector("x-radial-buttons"); btn.getFirstElement; // Correctly returns the element</code>
事件
>
如果您嘗試在升級完成之前嘗試訪問功能,則聚合物的異步元素升級過程可能會導致問題。 polymer-ready
事件解決了這一點:
這可以確保函數調用僅在聚合物元素完全初始化之後才發生。
polymer-ready
<code class="language-javascript">window.addEventListener('polymer-ready', function(e) { var xFoo = document.querySelector('x-foo'); xFoo.barProperty = 'baz'; // Access functions here });</code>
以下JavaScript片段演示了訪問聚合物元素及其功能:
此代碼在準備就緒後正確訪問
。<code class="language-javascript">(function(PokémonApp) { // ... (other code) ... form.addEventListener('submit', function(e) { e.preventDefault(); playerElement.speak(); var btn = document.querySelector("x-radial-buttons"); btn.getFirstElement(); // Correct access }); // ... (rest of the code) ... })(PokémonApp);</code>
getFirstElement
進一步學習資源x-radial-buttons
>常見問題
本節已被省略,因為它包含了重寫文章主體中已經涵蓋的信息。 上面已經解決了有關聚合物元素,其功能和訪問成員功能的方法的關鍵點。
>以上是如何在聚合物元素中訪問成員功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!