Rumah hujung hadapan web tutorial js Membuat templat HTML dengan mistache.js

Membuat templat HTML dengan mistache.js

Feb 24, 2025 am 09:35 AM

Creating HTML Templates with Mustache.js

Aplikasi web biasanya menggunakan seni bina MVC untuk memisahkan logik perniagaan dari pandangan persembahan. Projek -projek kompleks melibatkan sejumlah besar HTML pelanggan yang menggunakan operasi JavaScript, yang boleh menjadi sukar untuk dikekalkan. Dalam kes ini, kita boleh menggunakan sistem templat untuk meningkatkan kebolehgunaan semula dan memudahkan tugas pengurusan pandangan. Mustache.js menyediakan sistem templat yang didokumentasikan dengan baik yang boleh digunakan untuk menguruskan templat. Selain itu, kerana misai menyokong pelbagai bahasa, kami tidak perlu menggunakan sistem templat berasingan di sisi pelayan. Artikel ini menerangkan asas -asas menggunakan misai.

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>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
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>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
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>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
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>
Salin selepas log masuk

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>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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?
Mustache.js adalah sintaks templat logik. Ini bermakna ia boleh digunakan untuk HTML, fail konfigurasi, kod sumber -apa -apa. Ia berfungsi dengan memperluaskan label dalam templat menggunakan hash atau nilai yang disediakan dalam objek. Tidak seperti perpustakaan template JavaScript lain, mistache.js tidak mengandungi sebarang kenyataan, klausa lain, atau untuk gelung. Sebaliknya, ia hanya mempunyai label. Sesetengah tag digantikan dengan nilai, ada yang tidak mempunyai apa -apa, yang lain adalah satu siri nilai.

  • bagaimana menggunakan mistache.js untuk templat html?
Untuk menggunakan mistache.js untuk templat HTML, anda perlu memasukkan skrip mistache.js terlebih dahulu dalam fail HTML. Kemudian, anda menentukan templat dalam tag

. 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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1655
14
Tutorial PHP
1253
29
Tutorial C#
1227
24
Demystifying JavaScript: Apa yang berlaku dan mengapa penting Demystifying JavaScript: Apa yang berlaku dan mengapa penting Apr 09, 2025 am 12:07 AM

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Evolusi JavaScript: Trend Semasa dan Prospek Masa Depan Evolusi JavaScript: Trend Semasa dan Prospek Masa Depan Apr 10, 2025 am 09:33 AM

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

Enjin JavaScript: Membandingkan Pelaksanaan Enjin JavaScript: Membandingkan Pelaksanaan Apr 13, 2025 am 12:05 AM

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

JavaScript: meneroka serba boleh bahasa web JavaScript: meneroka serba boleh bahasa web Apr 11, 2025 am 12:01 AM

JavaScript adalah bahasa utama pembangunan web moden dan digunakan secara meluas untuk kepelbagaian dan fleksibiliti. 1) Pembangunan front-end: Membina laman web dinamik dan aplikasi satu halaman melalui operasi DOM dan kerangka moden (seperti React, Vue.js, sudut). 2) Pembangunan sisi pelayan: Node.js menggunakan model I/O yang tidak menyekat untuk mengendalikan aplikasi konkurensi tinggi dan masa nyata. 3) Pembangunan aplikasi mudah alih dan desktop: Pembangunan silang platform direalisasikan melalui reaktnatif dan elektron untuk meningkatkan kecekapan pembangunan.

Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Apr 16, 2025 am 12:12 AM

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Cara Membina Aplikasi SaaS Multi-Tenant dengan Next.js (Integrasi Frontend) Cara Membina Aplikasi SaaS Multi-Tenant dengan Next.js (Integrasi Frontend) Apr 11, 2025 am 08:22 AM

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan

Dari C/C ke JavaScript: Bagaimana semuanya berfungsi Dari C/C ke JavaScript: Bagaimana semuanya berfungsi Apr 14, 2025 am 12:05 AM

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Bagaimana saya memasang javascript? Bagaimana saya memasang javascript? Apr 05, 2025 am 12:16 AM

JavaScript tidak memerlukan pemasangan kerana ia sudah dibina dalam pelayar moden. Anda hanya memerlukan editor teks dan penyemak imbas untuk memulakan. 1) Dalam persekitaran penyemak imbas, jalankan dengan memasukkan fail HTML melalui tag. 2) Dalam persekitaran Node.js, selepas memuat turun dan memasang node.js, jalankan fail JavaScript melalui baris arahan.

See all articles