mata utama
- Mustache.js adalah sistem templat yang didokumentasikan dengan baik yang boleh digunakan untuk menguruskan templat HTML dalam aplikasi web yang kompleks, meningkatkan kebolehgunaan semula dan memudahkan tugas pengurusan pandangan.
- mistache.js tidak logik, yang bermaksud templatnya tidak mengandungi sebarang keadaan jika else atau untuk gelung. Ia menggunakan label yang dilambangkan oleh pendakap ganda untuk menambah data ke templat.
- Templat kumis boleh ditakrifkan dalam beberapa cara, termasuk kaedah sebaris, skrip sebaris, dan coretan HTML luaran. Kaedah yang mana untuk dipilih bergantung kepada keperluan khusus projek.
- Mustache.js adalah alat pelbagai fungsi yang boleh digunakan pada kedua-dua klien dan sisi pelayan dan menyokong pelbagai bahasa. Ia juga dilengkapi dengan tag untuk menguruskan templat kompleks seperti pembolehubah, bahagian, fungsi, dan templat separa.
Mengapa kita memerlukan sistem templat?
Kebanyakan pemaju yang tidak tahu mengenai sistem templat membuat blok HTML baru kod dan memasukkannya secara dinamik ke dalam DOM menggunakan JavaScript. Kaedah yang sama adalah untuk menentukan elemen HTML sebagai rentetan, kemudian tetapkan harta InnerHTML atau hubungi kaedah JQuery HTML (). Berikut adalah contoh:
var dynamic_html = "<div>HighlightedAuthor</div>"; document.getElementById("container").innerHTML = dynamic_html;</pre> Cara lain untuk membina DOM adalah untuk membuat unsur -unsur dan menambahkannya secara berasingan, seperti yang ditunjukkan di bawah:
var title = document.createElement('div'); var highlight = document.createElement('span'); var highlight_text = document.createTextNode("Highlight"); var author = document.createElement('span'); var author_text = document.createTextNode("Author"); var container = document.getElementById('container'); highlight.appendChild(highlight_text); title.appendChild(highlight); author.appendChild(author_text); title.appendChild(author); container.appendChild(title);</pre> Kedua -dua kaedah di atas dapat menambahkan elemen secara berkesan ke dokumen secara dinamik. Pertimbangkan situasi di mana kami mempunyai senarai peluru yang direka dengan baik yang perlu digunakan dalam tiga jenis halaman laman web. Menggunakan teknik ini, kita perlu mengulangi senarai kod HTML di tiga lokasi yang berbeza. Ini sering dianggap sebagai kebiasaan pengekodan yang buruk. Dalam kes ini, kita boleh menggunakan templat yang telah ditetapkan di lokasi yang berbeza tanpa menduplikasi kod. Mustache.js adalah enjin templat JavaScript yang sangat popular. Oleh kerana kumis menawarkan templat sisi pelayan dan pelanggan dalam pelbagai bahasa, kita tidak perlu bimbang tentang memilih enjin templat yang berasingan.
pemula mistache.js
Mustache adalah sistem templat bebas logik sumber terbuka yang sesuai untuk bahasa seperti JavaScript, Ruby, Python, PHP, dan Java. Anda boleh mengakses halaman rasmi di GitHub untuk mendapatkan salinan perpustakaan. Misai menggunakan templat dan pandangan sebagai asas untuk membuat templat dinamik. Pandangan ini mengandungi data JSON untuk dimasukkan ke dalam templat. Templat mengandungi persembahan HTML atau data dengan tag templat yang mengandungi data paparan. Kami menyebut sebelum ini bahawa kumis tidak logik. Ini bermakna bahawa templat tidak mengandungi sebarang syarat if-else atau untuk gelung. Sekarang, mari kita mulakan dengan template misai dengan contoh mudah.
var dynamic_html = "<div>HighlightedAuthor</div>"; document.getElementById("container").innerHTML = dynamic_html;</pre>Pertama, kita perlu memasukkan fail Mustache.js dalam dokumen. Kemudian kita boleh mula membuat template misai. Dalam contoh di atas, kita mempunyai pandangan yang mengandungi nama dan pekerjaan seseorang. Kami kemudian menggunakan tag yang membentangkan kod dan nama dan data kerjaya dalam fungsi render (). Label diwakili oleh pendakap dua atau janggut di sekelilingnya. Sekarang mari kita lihat bagaimana kaedah render () berfungsi.
Rendering Template Misai
Kod berikut menunjukkan pelaksanaan fungsi render () dalam fail Mustache.js. Tiga parameter boleh diluluskan untuk membuat (). Templat dan pandangan parameter pertama diperlukan. Separa boleh dianggap sebagai templat dinamik yang anda boleh menyuntik ke dalam templat utama. Dalam contoh terdahulu kami, kami meluluskan templat sebagai parameter inline, pandangan sebagai parameter kedua, dan memberikan hasil kepada pemboleh ubah output.
var title = document.createElement('div'); var highlight = document.createElement('span'); var highlight_text = document.createTextNode("Highlight"); var author = document.createElement('span'); var author_text = document.createTextNode("Author"); var container = document.getElementById('container'); highlight.appendChild(highlight_text); title.appendChild(highlight); author.appendChild(author_text); title.appendChild(author); container.appendChild(title);</pre> Ini adalah bentuk yang paling asas untuk menggunakan kumis. Mari kita lihat kaedah lain yang boleh digunakan untuk membuat lebih banyak kod kanonik.
Template misai definisi
Terdapat beberapa cara untuk menentukan template misai dalam permohonan anda. Kaedah ini sama dengan menggunakan gaya inline, gaya gaya inline, dan stylesheet luaran untuk memasukkan CSS. Contoh yang dibincangkan sebelumnya dapat dianggap sebagai kaedah sebaris kerana kita lulus templat terus ke fungsi. Kaedah ini menghalang kemungkinan templat yang boleh diguna semula. Mari kita lihat bagaimana untuk menentukan templat sebagai templat skrip inline dan bukannya lulus terus ke fungsi.
templat sebagai skrip inline
kita boleh pergi ke
</pre>
Anda boleh memasukkan banyak templat dengan ID yang berbeza dalam dokumen yang anda mahukan. Apabila anda ingin menggunakan templat, gunakan innerHTML untuk mendapatkan HTML di dalam tag skrip dan lulus sebagai templat. Contoh pertama kami akan ditukar kepada kod berikut:
<!DOCTYPE html> <html lang="en"> <head> <title>Mustache.js Inline Method</title> <??> </head> <body> <??> <p id="person"></p> </body> <??> </html></pre>Seperti yang anda lihat, templat disimpan secara berasingan dan digunakan secara dinamik apabila diperlukan. Kaedah ini meningkatkan kemungkinan menggunakan semula templat. Walau bagaimanapun, menggunakan skrip sebaris akan mengehadkan skop templat ke satu halaman. Jika anda mempunyai beberapa halaman, anda mesti menentukan templat sekali lagi. Jadi termasuk templat dalam fail luaran akan menjadi penyelesaian yang ideal - sama seperti CSS.
templat sebagai luaran html luaran
Dalam teknik ini, kami akan menggunakan jQuery untuk melaksanakan templat. JQuery menyediakan fungsi yang dipanggil beban () yang boleh digunakan untuk mendapatkan sebahagian daripada dokumen luaran. Kami akan menggunakan kaedah ini untuk memuatkan templat secara dinamik dari fail templat luaran. Fungsi beban () melaksanakan skrip dan bukannya mengembalikannya, jadi kami tidak dapat membuat templat di dalam tag skrip seperti yang kami lakukan dalam kaedah sebelumnya. Contoh berikut menunjukkan fail templat luaran yang akan kami gunakan.
var dynamic_html = "<div>HighlightedAuthor</div>"; document.getElementById("container").innerHTML = dynamic_html;</pre>Kami telah menggunakan elemen
<div>
dan bukan skrip untuk templat untuk menjadikannya serasi dengan fungsi beban JQuery (). Di sini kita mempunyai tiga templat yang berbeza dengan tiga ID yang berbeza. Sekarang, mari kita terus menggunakan templat ini di halaman anda.var title = document.createElement('div'); var highlight = document.createElement('span'); var highlight_text = document.createTextNode("Highlight"); var author = document.createElement('span'); var author_text = document.createTextNode("Author"); var container = document.getElementById('container'); highlight.appendChild(highlight_text); title.appendChild(highlight); author.appendChild(author_text); title.appendChild(author); container.appendChild(title);</pre>JQuery memasukkan dokumen yang dikembalikan ke dalam elemen HTML dan bukannya menyerahkannya kepada pembolehubah. Oleh itu, kita memerlukan bekas maya untuk memegang templat. Saya telah menggunakan bekas templat yang tersembunyi secara lalai. Contoh di atas mengambil template1 dan memuatkannya. Kita kemudian boleh mendapatkan templat dari bekas maya dan lulus ke misai untuk rendering. Ini adalah cara kaedah luaran berfungsi. Kami juga boleh menggunakan permintaan AJAX untuk mendapatkan data dari pelayan.
Kesimpulan
Enjin dan kerangka template sangat penting untuk menguruskan sistem kompleks dengan pandangan persembahan secara dinamik. Mustache.js adalah salah satu pilihan terbaik untuk template admin di sisi klien. Kami menerangkan pada permulaan tutorial ini mengapa templat penting. Kemudian, kami terus memperkenalkan pelbagai teknik menggunakan template misai. Anda kini dapat memilih cara untuk melaksanakan template misai dalam projek anda. Kami telah melakukan meneroka pelbagai teknik untuk menggunakan template misai, tetapi kumis juga dilengkapi dengan tag seperti pembolehubah, bahagian, fungsi, dan templat separa yang digunakan untuk menguruskan templat kompleks. Membincangkan sintaks untuk setiap tag adalah di luar skop tutorial ini. Anda boleh mencari panduan komprehensif untuk tag misai pada halaman github mistache. Jangan ragu untuk berkongsi pengalaman anda sebelumnya dengan mistache.js!
FAQ Mustache.js (FAQ)
- Apakah perbezaan utama antara mistache.js dan perpustakaan template JavaScript lain?
- bagaimana menggunakan mistache.js untuk templat html?
. Templat ini boleh mengandungi ruang letak untuk memasukkan data. Placshurs ini diwakili oleh pendakap ganda, seperti {{name}}. Anda kemudian menggunakan fungsi mistache.render () untuk menjadikan templat dengan data yang anda berikan. <script></script>
- Bolehkah saya menggunakan mistache.js dengan node.js?
Ya, anda boleh menggunakan mistache.js dengan node.js. Untuk melakukan ini, anda perlu memasang pakej kumis menggunakan npm. Sebaik sahaja pemasangan selesai, anda boleh memerlukannya dalam fail Node.js dan menggunakannya untuk menjadikan templat.
- Bagaimana menggunakan mistache.js untuk melintasi tatasusunan?
Dalam mistache.js, anda boleh melintasi array menggunakan {{#Array}} ... {{/array}} sintaks. Dalam blok ini, anda boleh menggunakan {{.}} Untuk merujuk item semasa dalam array. Ini membolehkan anda memaparkan setiap item dalam array dalam templat.
- Bagaimana menggunakan pernyataan bersyarat dalam mistache.js?
Walaupun mistache.js adalah perpustakaan template yang tidak logik yang tidak menyokong pernyataan tradisional jika, anda masih boleh menggunakan bahagian untuk mendapatkan hasil yang sama. Bahagian membuat blok teks sekali atau lebih kali berdasarkan nilai kunci dalam objek data.
- Bagaimana untuk memasukkan beberapa templat dalam mistache.js?
Beberapa templat dalam mistache.js membolehkan anda memasukkan templat yang lebih kecil dalam templat yang lebih besar. Ini sangat berguna untuk menggunakan semula unsur -unsur biasa seperti tajuk dan kaki. Untuk memasukkan templat separa, anda boleh menggunakan sintaks {{& gt; partial}}.
- bagaimana untuk melarikan diri html dalam mistache.js?
Secara lalai, Mustache.js melarikan diri HTML dalam data untuk mencegah serangan XSS. Jika anda ingin memberikan HTML dari data anda, anda boleh menggunakan sintaks triple brace, seperti {{{html}}}.
- Bolehkah saya menggunakan mistache.js untuk sisi pelayan?
Ya, anda boleh menggunakan mistache.js untuk sisi pelayan. Ini berguna untuk membuat template sebelum menghantarnya kepada pelanggan, mengurangkan jumlah JavaScript yang perlu dilaksanakan pada pelanggan.
- Bagaimana untuk mempercepatkan template dalam mistache.js?
Templat precompiling dalam mistache.js dapat meningkatkan prestasi dengan mengurangkan kerja yang perlu dilakukan pada masa runtime. Untuk precompile templat, anda boleh menggunakan fungsi mistache.parse ().
- bagaimana debug template mistache.js?
Debugging Template mistache.js boleh menjadi rumit kerana perpustakaan tidak memberikan banyak mesej ralat. Walau bagaimanapun, anda boleh menggunakan fungsi mistache.parse () untuk memeriksa sama ada templat anda sah. Fungsi ini mengembalikan pelbagai tag yang boleh anda periksa untuk melihat apakah struktur templat anda betul.
Atas ialah kandungan terperinci Membuat templat HTML dengan mistache.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza. 1.Java adalah bahasa yang ditaip dan disusun secara statik, sesuai untuk aplikasi perusahaan dan sistem besar. 2. JavaScript adalah jenis dinamik dan bahasa yang ditafsirkan, terutamanya digunakan untuk interaksi web dan pembangunan front-end.
