Rumah >hujung hadapan web >tutorial js >Cara mengakses fungsi ahli dalam elemen polimer
Artikel ini meneroka mengakses fungsi ahli dalam objek polimer, cabaran umum bagi pemaju polimer. Kami akan mengkaji pendekatan yang betul dan tidak betul, menonjolkan peranan enkapsulasi bayang -bayang.
TakeAways Key
#
) adalah pendekatan yang disyorkan. polymer-ready
memastikan elemen dinaik taraf sepenuhnya sebelum mencuba akses fungsi, mencegah undefined
ralat. Perangkap akses yang salah
Pertimbangkan komponen web: <x id="radial-button-template"></x>
. Percubaan untuk mengakses fungsinya melalui ID menggunakan document.querySelector("#radial-button-template")
gagal kerana enkapsulasi dom bayangan. Unsur yang dikembalikan tidak mendedahkan fungsi dalaman; Mereka muncul sebagai undefined
.
Pendekatan yang betul
Kaedah 1: Akses nama elemen langsung
kaedah yang paling mudah adalah menggunakan nama tag elemen secara langsung dalam querySelector
:
<code class="language-javascript">var btn = document.querySelector("x-radial-buttons"); btn.getFirstElement; // Correctly returns the element</code>
ini memintas sekatan Shadow DOM dan menyediakan akses langsung kepada fungsi ahli. Secara umumnya lebih disukai untuk mengelakkan memberikan ID kepada elemen polimer atas sebab ini.
Kaedah 2: Acara polymer-ready
Proses Peningkatan Elemen Asynchronous Polimer boleh menyebabkan masalah jika anda cuba mengakses fungsi sebelum peningkatan selesai. Acara polymer-ready
menyelesaikan ini:
<code class="language-javascript">window.addEventListener('polymer-ready', function(e) { var xFoo = document.querySelector('x-foo'); xFoo.barProperty = 'baz'; // Access functions here });</code>
Ini memastikan bahawa panggilan fungsi berlaku hanya selepas elemen polimer sepenuhnya dimulakan.
Aplikasi praktikal
coretan JavaScript berikut menunjukkan mengakses elemen polimer dan fungsi mereka:
<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>
Kod ini dengan betul mengakses getFirstElement
selepas elemen x-radial-buttons
siap.
Sumber pembelajaran selanjutnya
Microsoft menawarkan sumber pembelajaran percuma yang luas di JavaScript dan pembangunan web, termasuk tutorial mengenai pengoptimuman prestasi, asas platform web, dan membina aplikasi Windows sejagat menggunakan HTML dan JavaScript. Sumber -sumber ini, bersama -sama dengan alat seperti Visual Studio Community dan Azure Trial, menyediakan laluan pembelajaran yang komprehensif. Artikel ini adalah sebahagian daripada siri pembangunan web dari Microsoft.
Soalan -soalan yang sering ditanya
Bahagian ini telah ditinggalkan kerana ia mengandungi maklumat yang telah diliputi dalam badan utama artikel yang ditulis semula. Mata utama mengenai unsur -unsur polimer, fungsi mereka, dan kaedah mengakses fungsi ahli telah ditangani di atas.
Atas ialah kandungan terperinci Cara mengakses fungsi ahli dalam elemen polimer. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!