3
Takeaways Key
X-Tag, perpustakaan JavaScript yang disokong oleh Microsoft, menyediakan antara muka yang kaya, yang kaya dengan ciri-ciri untuk pembangunan komponen web yang cepat, yang memberi tumpuan terutamanya kepada API Elemen Custom.
X-Tag pada asalnya merupakan projek Mozilla, tetapi kini merupakan projek yang disokong oleh Microsoft, sama seperti bagaimana Google mengembalikan kerangka polimer.
bagaimana x-tag berbeza daripada polimer?
Bukankah X-Tag, Projek Mozilla?Polimer menggabungkan semua empat teknologi komponen web, iaitu, import HTML, elemen tersuai, templat Shadow DOM dan HTML ke dalam satu pakej. Ia menyediakan pemaju dengan API yang mudah digunakan untuk membina komponen web tersuai. Sebaliknya, X-Tag hanya menyediakan API elemen tersuai untuk membina komponen web tersuai. Sudah tentu, anda juga boleh menggunakan API komponen web lain bersempena dengan perpustakaan X-Tag.
Ya, tetapi sekarang tidak lagi. Selepas beberapa penggalian, saya berjaya mengetahui bahawa pemaju asal projek X-Tag, Daniel Buchner, pernah bekerja di Mozilla ketika dia membuat perpustakaan. Tetapi sejak itu, dia telah berpindah ke Microsoft dan meneruskan projek itu. Lebih-lebih lagi, beliau adalah penyumbang tunggal kepada perpustakaan dengan bantuan dari bekas mozillian. Oleh itu, kini merupakan projek yang disokong oleh Microsoft yang diasaskan oleh bekas mozillian.
Dalam artikel ini, kami akan membina elemen tersuai menggunakan perpustakaan X-Tag untuk membenamkan pandangan Google Map Street menggunakan markup berikut:
<span><span><span><google-map</span> latitude<span>="40.7553231"</span> longitude<span>="-73.9752458"</span>></span><span><span></google-map</span>></span></span>
Unsur Custom
mari kita mulakan dengan memasukkan perpustakaan X-Tag JavaScript di
dokumen kami.<span><span><!DOCTYPE html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><!-- X-Tag library including the polyfill --> </span> <span><span><span><script</span> src<span>="https://rawgit.com/x-tag/core/master/dist/x-tag-core.min.js"</span>></span><span><span></script</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span> </span> <span><!-- Custom element markup will appear here --> </span> <span><span><span><script</span>></span><span> </span></span><span><span> <span><!-- The behavior of the custom element will be defined here --> </span></span></span><span><span> </span><span><span></script</span>></span> </span> <span><span><span></body</span>></span> </span><span><span><span></html</span>></span></span>
Adalah penting untuk memasukkan perpustakaan X-Tag di
dokumen. Ini supaya ia dimuat turun dan dihuraikan sepenuhnya sebelum enjin rendering menemui markup elemen tersuai yang akan kita gunakan di dalam .
Tidak seperti polimer, proses membuat elemen tersuai dengan X-Tag sepenuhnya didorong oleh JavaScript. Perpustakaan X-Tag menyediakan sekumpulan kaedah, panggilan balik, dan sifat berguna untuk menentukan tingkah laku tersuai untuk elemen kami. Kerangka biasa untuk mencipta elemen tersuai dengan X-Tag kelihatan seperti berikut:
xtag<span>.register('google-map', { </span> <span>content: '', </span> <span>lifecycle: { </span> <span>created : function(){ </span> <span>/* Called when the custom element is created */ </span> <span>}, </span> <span>inserted : function(){ </span> <span>/* Called when the custom element is inserted into the DOM */ </span> <span>}, </span> <span>removed : function(){ </span> <span>/* Called when the custom element is removed from the DOM */ </span> <span>}, </span> <span>attributeChanged: function(attrName<span>, oldValue, newValue</span>){ </span> <span>/* Called when the attribute of the custom element is changed */ </span> <span>} </span> <span>}, </span> <span>accessors : {}, </span> <span>methods : {}, </span> <span>events : {} </span><span>});</span>
Idea asas adalah untuk membenamkan peta Google menggunakan iframe dan tentukan URL SRC dalam format berikut:
https://www.google.com/maps/embed/v1/streetview?key=<span><span><span><API_KEY</span>></span>&location=<span><span><LATITUDE</span>></span>,<span><span><LONGITUDE</span>></span></span>
Untuk mendapatkan API_KEY, ikuti langkah -langkah yang diterangkan di sini. Sebaik sahaja anda mempunyai API_KEY, kami akan membuat iframe di dalam kaedah panggil balik yang dibuat objek kitaran hayat dan tentukan harta SRC dalam format di atas.
<span><span><span><google-map</span> latitude<span>="40.7553231"</span> longitude<span>="-73.9752458"</span>></span><span><span></google-map</span>></span></span>
Kod di atas berfungsi tetapi kita perlu menyingkirkan nilai koordinat berkod keras dalam iframe.src dan sebaliknya sumber nilai terus dari atribut elemen tersuai. Untuk melakukan ini, kami akan menggunakan objek Accessors, dengan nama atribut yang membentuk kunci. Kami menghubungkan mereka dengan atribut HTML dengan mengisytiharkan atribut: {}.
<span><span><!DOCTYPE html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><!-- X-Tag library including the polyfill --> </span> <span><span><span><script</span> src<span>="https://rawgit.com/x-tag/core/master/dist/x-tag-core.min.js"</span>></span><span><span></script</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span> </span> <span><!-- Custom element markup will appear here --> </span> <span><span><span><script</span>></span><span> </span></span><span><span> <span><!-- The behavior of the custom element will be defined here --> </span></span></span><span><span> </span><span><span></script</span>></span> </span> <span><span><span></body</span>></span> </span><span><span><span></html</span>></span></span>
kita kemudian boleh menggunakan pembolehubah ini secara langsung sambil menentukan URL SRC:
xtag<span>.register('google-map', { </span> <span>content: '', </span> <span>lifecycle: { </span> <span>created : function(){ </span> <span>/* Called when the custom element is created */ </span> <span>}, </span> <span>inserted : function(){ </span> <span>/* Called when the custom element is inserted into the DOM */ </span> <span>}, </span> <span>removed : function(){ </span> <span>/* Called when the custom element is removed from the DOM */ </span> <span>}, </span> <span>attributeChanged: function(attrName<span>, oldValue, newValue</span>){ </span> <span>/* Called when the attribute of the custom element is changed */ </span> <span>} </span> <span>}, </span> <span>accessors : {}, </span> <span>methods : {}, </span> <span>events : {} </span><span>});</span>
Styling Satu elemen tersuai adalah serupa dengan gaya tag HTML yang lain. Kelas, ID, dan pemilih atribut berfungsi seperti yang diharapkan dengan elemen tersuai. Sebagai contoh, kami akan menambah badai box-shadow dan sempadan sempadan ke elemen Custom
https://www.google.com/maps/embed/v1/streetview?key=<span><span><span><API_KEY</span>></span>&location=<span><span><LATITUDE</span>></span>,<span><span><LONGITUDE</span>></span></span>
menggunakan elemen tersuai kini semudah termasuk markup berikut dalam
:<span>// Insert your API key here </span><span>var API_KEY = <API_KEY>; </span> xtag<span>.register('google-map', { </span> <span>lifecycle: { </span> <span>created: function() { </span> <span>var iframe = document.createElement('iframe'); </span> iframe<span>.width = 600; </span> iframe<span>.height = 600; </span> iframe<span>.frameBorder = 0; </span> iframe<span>.src = 'https://www.google.com/maps/embed/v1/streetview?key=' + </span> <span>API_KEY + '&location=40.7553231,35.3434'; </span> <span>this.appendChild(iframe); </span> <span>} </span> <span>} </span><span>});</span>
Hasil akhir dapat dilihat dalam codepen di bawah:
Lihat Pena X-Tag
Walaupun sokongan penyemak imbas untuk komponen web sedikit samar, demo kami menggunakan perpustakaan X-Tag dengan polyfill harus berfungsi pada semua pelayar moden termasuk IE9 dan ke atas.
Pemikiran AkhirSoalan Lazim (Soalan Lazim) Mengenai Membangun Komponen Web tersuai dengan X-Tag
xtag.register ('my-element', {
}
}
});
Kaedah kitaran hayat adalah kaedah khas yang dipanggil pada tahap yang berbeza dalam kehidupan elemen tersuai. X-TAG menyokong empat kaedah kitaran hayat: dicipta, dimasukkan, dikeluarkan, dan dikaitkan. Kaedah ini membolehkan anda melakukan tindakan tertentu apabila elemen dibuat, ditambah ke DOM, dikeluarkan dari DOM, atau apabila salah satu perubahan atributnya. >
xtag.register ('my-element', {
events: {
console.log ('Element Clicked!'); Ya, X-Tag menyokong penciptaan elemen bayang-bayang. Ini membolehkan anda merangkumi gaya dan markup elemen anda, menjadikannya terpisah dari seluruh dokumen anda. Untuk membuat akar bayangan, anda boleh menggunakan kaedah ini. Seperti mana -mana elemen HTML yang lain, menggunakan CSS. Jika elemen anda menggunakan Shadow Dom, anda boleh memasukkan tag
Atas ialah kandungan terperinci Membina komponen web tersuai dengan X-Tag. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!