Takeaways Key
- Handlebars adalah enjin templating logik-kurang yang memanjangkan misai, menambah logik yang minimum melalui pembantu, menjadikannya sesuai untuk memisahkan struktur HTML dari logik perniagaan dan meningkatkan pemeliharaan aplikasi.
- Penciptaan templat dalam hendal melibatkan menggunakan pendakap keriting berganda `{{}}` untuk pembolehubah, yang boleh dikompilasi untuk meningkatkan prestasi dan mengurangkan pemprosesan sisi klien.
- hendal menyokong pembantu tersuai, membolehkan pemaju melaksanakan logik kompleks dalam templat, memberikan fleksibiliti melampaui pengikatan data mudah.
- Templat separa di hendal memudahkan kebolehgunaan kod di seluruh bahagian aplikasi, menyelaraskan proses pembangunan dan mengekalkan konsistensi.
- Precompilation of Templates Handlebars dapat meningkatkan prestasi aplikasi web dengan meminimumkan overhead kompilasi runtime di sisi klien.
Handlebar adalah enjin templating logik yang kurang menghasilkan halaman HTML anda secara dinamik. Ia adalah lanjutan kumis dengan beberapa ciri tambahan. Misai adalah logik sepenuhnya tetapi hendal menambah logik yang minimum terima kasih kepada penggunaan beberapa pembantu (seperti jika, dengan, kecuali, setiap satu) bahawa kita akan membincangkan lebih lanjut dalam artikel ini. Sebenarnya, kita boleh mengatakan bahawa hendal adalah superset kumis.
<span><span><span><script> src<span >="/path/to/handlebars.min.js"</script></span>></span><span><span></span>></span></span>Ia menyimpan halaman HTML anda bersih dan memisahkan templat logik-kurang dari logik perniagaan dalam fail JavaScript anda, dengan itu meningkatkan struktur aplikasi (dan juga penyelenggaraan dan skalabilitasnya)
ia memudahkan tugas mengemas kini data secara manual pada pandangan
- Ia digunakan dalam rangka kerja dan platform yang popular seperti Ember.js, Meteor.js, Derby.js dan Ghost
- Saya harap rekap pendek ini membantu anda dalam menentukan jika ia bernilai menggunakan hendal atau tidak.
-
bagaimana ia berfungsi?
- Fungsi ini kemudian dilaksanakan dengan meluluskan objek JSON sebagai hujah. Objek JSON ini dikenali sebagai konteks dan mengandungi nilai -nilai pembolehubah yang digunakan dalam templat
- Pada pelaksanaannya, fungsi mengembalikan HTML yang diperlukan setelah menggantikan pembolehubah templat dengan nilai yang sepadan
templat
Templat boleh ditulis dalam fail HTML atau secara berasingan. Dalam kes pertama, mereka muncul di dalam tag
dengan atribut jenis = "teks/x-handlebars-templat" dan ID. Pembolehubah ditulis dalam pendakap keriting berganda {{}} dan dikenali sebagai ungkapan. Berikut adalah contoh: Dengan markup ini, kita dapat melihat apa yang perlu kita lakukan. Dalam fail JavaScript anda, kami perlu mengambil templat dari dokumen HTML. Dalam contoh berikut, kami akan menggunakan ID templat untuk tujuan ini. Selepas templat telah diambil, kami dapat menyusunnya dengan menggunakan kaedah handlebars.Compile () yang mengembalikan fungsi. Fungsi ini kemudian dilaksanakan dengan lulus konteks sebagai hujah. Apabila pelaksanaan selesai, fungsi mengembalikan HTML yang dikehendaki dengan semua pembolehubah yang digantikan dengan nilai yang sepadan. Pada ketika ini kita boleh menyuntik HTML ke laman web kami.
<span><span><span><script> src<span >="/path/to/handlebars.min.js"</script></span>></span><span><span></span>></span></span>
Mengubah keterangan ini ke dalam hasil kod dalam coretan berikut:<span><span><span><script> id<span >="handlebars-demo"</script></span> type<span>="text/x-handlebars-template"</span>></span><span><span><div>My name is {{name}}. I am a {{occupation}}.</div></span></span><span><span></span>></span></span>
Sekarang sudah tiba masanya untuk menyelam sedikit lebih mendalam ke hendal. Kami akan melalui beberapa istilah penting dan sintaks yang membentuk teras hendal.
Ekspresi
kita sudah melihat ungkapan di bahagian di atas. Pembolehubah yang digunakan di dalam templat dikelilingi oleh pendakap keriting berganda {{}} dan dikenali sebagai ekspresi:
HTML Escaping
hendal boleh melepaskan nilai yang dikembalikan oleh ungkapan. Sebagai contoh watak
<span>// Retrieve the template data from the HTML (jQuery is used here).var template = $('#handlebars-demo').html(); </span><span>// Compile the template data into a functionvar templateScript = Handlebars.compile(template); </span><span>var context = { "name" : "Ritesh Kumar", "occupation" : "developer" }; </span><span>// html = 'My name is Ritesh Kumar. I am a developer.'var html = templateScript(context); </span><span>// Insert the HTML code into the page$(document.body).append(html);</span>
<span>My name is {{name}}</span>
demo langsung yang menunjukkan ciri ini boleh didapati dalam demo codepen ini
Komen
kita juga boleh menulis komen di dalam templat handlebars. Sintaks untuk komen hendal adalah {{! TypeyourcommentHere}}. Walau bagaimanapun, setiap komen yang mempunyai}} di dalamnya atau mana-mana simbol lain yang mempunyai makna khas dalam hendal hendaklah ditulis dalam bentuk {{!-typeyourcommenthere--}}. Komen Handlebars tidak dapat dilihat di HTML tetapi jika anda ingin menunjukkannya, anda boleh menggunakan komen HTML standard: .
Jika kita memohon semua konsep ini untuk templat yang kita gunakan, kita boleh membuat kod yang ditunjukkan di bawah:
<span><span><span><script> src<span >="/path/to/handlebars.min.js"</script></span>></span><span><span></span>></span></span>
Jika kita menggunakan templat sebelumnya dengan pembolehubah konteks yang dilaporkan di bawah:<span><span><span><script> id<span >="handlebars-demo"</script></span> type<span>="text/x-handlebars-template"</span>></span><span><span><div>My name is {{name}}. I am a {{occupation}}.</div></span></span><span><span></span>></span></span>
yang akan mengakibatkan penyemak imbas tidak menunjukkan kandungan di dalam komen HTML standard. Demo contoh ini boleh didapati di sini.
<span>// Retrieve the template data from the HTML (jQuery is used here).var template = $('#handlebars-demo').html(); </span><span>// Compile the template data into a functionvar templateScript = Handlebars.compile(template); </span><span>var context = { "name" : "Ritesh Kumar", "occupation" : "developer" }; </span><span>// html = 'My name is Ritesh Kumar. I am a developer.'var html = templateScript(context); </span><span>// Insert the HTML code into the page$(document.body).append(html);</span>
Blok<span>My name is {{name}}</span>
Untuk memahami lebih baik topik ini, kami akan menggunakan contoh di bawah di mana kami menggunakan setiap penolong (dibincangkan secara terperinci kemudian). Seperti yang anda harapkan, yang terakhir melangkah ke atas item array.
Dalam contoh ini, kami akan menggunakan template berikut:
dengan menyediakan pembolehubah konteks ini:
I am learning {{language}}. It is {{{adjective}}}.
Kami akan memperoleh output yang ditunjukkan di bawah:<span>var context = {"language" : "<h3 id="Handlebars">Handlebars</h3>","adjective": "<h3 id="awesome">awesome</h3>"}</span>
pembantu
Walaupun hendal adalah enjin templat yang kurang logik, ia boleh melaksanakan logik mudah menggunakan pembantu. Penolong Handle adalah pengecam mudah yang boleh diikuti oleh parameter (dipisahkan oleh ruang), seperti yang ditunjukkan di bawah:
I am learning <span><span><span><h3 id="gt">></h3></span>Handlebars<span><span></span>></span>. It is <span><span><h3 id="gt">></h3></span>awesome<span><span></span>></span></span></span></span>
setiap penolong
Setiap penolong digunakan untuk melangkah ke atas array. Sintaks penolong adalah {{#each arrayname}} yourContent {{/each}}. Kita boleh merujuk kepada item array individu dengan menggunakan kata kunci ini di dalam blok. Indeks elemen array boleh diberikan dengan menggunakan {{@index}}. Contoh di bawah menggambarkan penggunaan setiap penolong.
Jika kita menggunakan template berikut:
<span><span><span><script> src<span >="/path/to/handlebars.min.js"</script></span>></span><span><span></span>></span></span>
bersempena dengan pembolehubah konteks ini:<span><span><span><script> id<span >="handlebars-demo"</script></span> type<span>="text/x-handlebars-template"</span>></span><span><span><div>My name is {{name}}. I am a {{occupation}}.</div></span></span><span><span></span>></span></span>
Demo langsung contoh ini boleh didapati di Codepen.
<span>// Retrieve the template data from the HTML (jQuery is used here).var template = $('#handlebars-demo').html(); </span><span>// Compile the template data into a functionvar templateScript = Handlebars.compile(template); </span><span>var context = { "name" : "Ritesh Kumar", "occupation" : "developer" }; </span><span>// html = 'My name is Ritesh Kumar. I am a developer.'var html = templateScript(context); </span><span>// Insert the HTML code into the page$(document.body).append(html);</span>
Jika penolongkebenaran
, hendal akan menjadikan blok tersebut. Kami juga boleh menentukan seksyen templat yang dikenali sebagai "seksyen lain", dengan menggunakan {{else}}. Kecuali pembantu adalah kebalikan dari penolong jika. Ia menjadikan blok apabila keadaan menilai nilaifalsy . Untuk menunjukkan bagaimana penolong jika berfungsi, mari kita pertimbangkan templat di bawah:
<span>My name is {{name}}</span>
Kami akan memperoleh keputusan yang dilaporkan di bawah:
I am learning {{language}}. It is {{{adjective}}}.
ini berlaku kerana array kosong adalahfalsy
nilai.<span>var context = {"language" : "<h3 id="Handlebars">Handlebars</h3>","adjective": "<h3 id="awesome">awesome</h3>"}</span>
Pembantu Custom Anda boleh membuat pembantu anda sendiri untuk melakukan logik yang kompleks menggunakan sistem ekspresi yang disediakan oleh hendal. Terdapat dua jenis pembantu: pembantu fungsi dan pembantu blok. Takrif pertama dimaksudkan untuk ungkapan tunggal, manakala yang terakhir digunakan untuk ekspresi blok. Hujah -hujah yang diberikan kepada fungsi panggil balik adalah parameter yang ditulis selepas nama pembantu, dipisahkan oleh ruang. Pembantu dibuat menggunakan handlebars.RegistHelper () Kaedah:
Helper Fungsi Custom
Sintaks untuk penolong fungsi adalah {{HelperName Parameter1 Parameter2 ...}}. Untuk lebih memahami bagaimana untuk meneruskan pelaksanaannya, mari kita buat penolong fungsi yang dipanggil StudyStatus yang mengembalikan rentetan yang akan "diluluskan" jika lulus = 2015:
I am learning <span><span><span><h3 id="gt">></h3></span>Handlebars<span><span></span>></span>. It is <span><span><h3 id="gt">></h3></span>awesome<span><span></span>></span></span></span></span>
Dalam contoh kami parameter hanya satu. Walau bagaimanapun, jika kita mahu lulus lebih banyak parameter ke fungsi panggil balik pembantu kita boleh menulisnya dalam templat selepas parameter pertama dipisahkan oleh ruang.<span><!-- I am learning {{language}} -->I am learning {{language}}. It is {{!--adjective--}}</span>
<span>var context = {"language" : "Handlebars","adjective": "awesome"}</span>
Demo langsung contoh ini boleh didapati di sini.
Helper Blok Custom
<span><!-- I am learning Handlebars -->I am learning Handlebars. It is</span>
Pembantu blok tersuai digunakan dengan cara yang sama seperti pembantu fungsi, tetapi sintaks agak berbeza. Sintaks pembantu blok adalah:<span><span><span><script> src<span >="/path/to/handlebars.min.js"</script></span>></span><span><span></span>></span></span>
Apabila kami mendaftarkan pembantu blok tersuai, hendal secara automatik menambah objek pilihan sebagai parameter terakhir ke fungsi panggil balik. Objek Pilihan ini mempunyai kaedah FN () yang membolehkan kita mengubah konteks objek sementara untuk mengakses harta tertentu. Mari kita ubah contoh bahagian sebelumnya dengan menggunakan pembantu blok bernama StudyStatus tetapi dengan pembolehubah konteks yang sama:
<span><span><span><script> id<span >="handlebars-demo"</script></span> type<span>="text/x-handlebars-template"</span>></span><span><span><div>My name is {{name}}. I am a {{occupation}}.</div></span></span><span><span></span>></span></span>
Jika kod ini digunakan bersempena dengan templat yang ditakrifkan di bawah<span>// Retrieve the template data from the HTML (jQuery is used here).var template = $('#handlebars-demo').html(); </span><span>// Compile the template data into a functionvar templateScript = Handlebars.compile(template); </span><span>var context = { "name" : "Ritesh Kumar", "occupation" : "developer" }; </span><span>// html = 'My name is Ritesh Kumar. I am a developer.'var html = templateScript(context); </span><span>// Insert the HTML code into the page$(document.body).append(html);</span>
Dan inilah demo codepen.
<span>My name is {{name}}</span>
Templat separaI am learning {{language}}. It is {{{adjective}}}.
ia akan memberikan hasil berikut:
<span>var context = {"language" : "<h3 id="Handlebars">Handlebars</h3>","adjective": "<h3 id="awesome">awesome</h3>"}</span>
demo langsung kod ini boleh didapati dalam demo codepen ini.I am learning <span><span><span><h3 id="gt">></h3></span>Handlebars<span><span></span>></span>. It is <span><span><h3 id="gt">></h3></span>awesome<span><span></span>></span></span></span></span>
Pertama, anda perlu memasang hendal di seluruh dunia dengan menggunakan hendal pemasangan NPM -G. Sila, pastikan templat yang berbeza ditulis dalam fail berasingan dengan nama fail yang berbeza dan dengan sambungan .handlebars (contohnya demo.handlebars). Tidak perlu menggunakan tag
di dalam fail tersebut. Sekarang simpan semua fail templat dalam satu folder bernama templat. Anda boleh menggunakan mana -mana nama folder yang anda kehendaki tetapi jika anda berbuat demikian, jangan lupa untuk menukar arahan berikut dengan sewajarnya. Oleh itu, buka terminal dan laksanakan perintah:
Perintah ini akan menghasilkan fail bernama templatescompiled.js yang mengandungi semua templat yang disusun. Pengkompil akan memasukkan templat dalam handlebars.templates. Jika fail input adalah demo.handlebars, maka ia akan dimasukkan ke handlebars.templates.demo
<span><!-- I am learning {{language}} -->I am learning {{language}}. It is {{!--adjective--}}</span>
Sekarang kita perlu memasukkan templatescompiled.js dalam fail HTML sebagai skrip biasa. Adalah penting untuk diperhatikan bahawa kita tidak perlu memuatkan keseluruhan perpustakaan hendal kerana pengkompil itu sendiri tidak diperlukan lagi. Kita boleh menggunakan "runtime" yang lebih kecil sebaliknya:<span><span><span><script> src<span >="/path/to/handlebars.min.js"</script></span>></span><span><span></span>></span></span>
sekarang kita boleh menggunakan templat yang pada asalnya hadir dalam demo.handlebars dengan menggunakan kod berikut:
<span><span><span><script> id<span >="handlebars-demo"</script></span> type<span>="text/x-handlebars-template"</span>></span><span><span><div>My name is {{name}}. I am a {{occupation}}.</div></span></span><span><span></span>></span></span>
output akhir akan menjadi seperti berikut:<span>// Retrieve the template data from the HTML (jQuery is used here).var template = $('#handlebars-demo').html(); </span><span>// Compile the template data into a functionvar templateScript = Handlebars.compile(template); </span><span>var context = { "name" : "Ritesh Kumar", "occupation" : "developer" }; </span><span>// html = 'My name is Ritesh Kumar. I am a developer.'var html = templateScript(context); </span><span>// Insert the HTML code into the page$(document.body).append(html);</span>
Kod demo precompilation ini boleh didapati di GitHub.
KESIMPULAN
Dalam artikel ini kita telah membincangkan konsep asas hendal. Kami juga mengkaji fungsi dan sintaks yang sering digunakan. Saya harap anda menikmati tutorial ini dan anda akan menggunakan demo yang disertakan untuk memahami topik ini. Saya tidak sabar untuk membaca komen anda.Apakah template hendal?
Templat Handlebars adalah struktur berasaskan teks yang mentakrifkan susun atur dan struktur kandungan HTML dinamik dalam pembangunan web. Handlebars adalah perpustakaan templating JavaScript yang membolehkan anda membuat templat ini, menjadikannya lebih mudah untuk menghasilkan kandungan HTML berdasarkan data. Handlebar ini disertakan dalam pendakap keriting berganda {{}}. Contohnya:
Hello, {{name}}!
Dalam template handlebar mudah ini, {{name}} adalah pemegang tempat untuk pembolehubah yang disebut "Nama . " Apabila anda membuat templat ini dengan data tertentu, seperti {name: "John"}, hendal menggantikan {{name}} dengan nilai data yang sepadan:
Hello, John!
templat hendal sangat berguna untuk mewujudkan kandungan HTML yang konsisten dan dikekalkan, kerana mereka memisahkan persembahan (struktur HTML) dari data, menjadikannya lebih mudah untuk mengemaskini dan menggunakan semula template di seluruh aplikasi web anda. Handlebars menawarkan ciri -ciri yang lebih canggih, menjadikannya sesuai untuk keperluan dan projek templat yang kompleks di mana ekosistem dan sokongan komuniti yang lebih besar adalah penting. Misai, sebaliknya, lebih mudah dan mengikuti falsafah "kurang logik", menjadikannya pilihan yang baik untuk projek-projek yang mengutamakan kesederhanaan dan mudah alih di pelbagai bahasa pengaturcaraan.
Atas ialah kandungan terperinci Panduan pemula ' s ke hendal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Jadi di sini anda, bersedia untuk mempelajari semua perkara ini yang dipanggil Ajax. Tetapi, apa sebenarnya? Istilah Ajax merujuk kepada kumpulan teknologi longgar yang digunakan untuk membuat kandungan web yang dinamik dan interaktif. Istilah Ajax, yang asalnya dicipta oleh Jesse J

10 Plugin Permainan JQuery yang menyeronokkan untuk menjadikan laman web anda lebih menarik dan meningkatkan keletihan pengguna! Walaupun Flash masih merupakan perisian terbaik untuk membangunkan permainan web kasual, jQuery juga boleh menghasilkan kesan yang mengejutkan, dan walaupun tidak setanding dengan permainan flash aksi tulen, dalam beberapa kes, anda juga boleh bersenang -senang di penyemak imbas anda. permainan jquery tic toe "Hello World" pengaturcaraan permainan kini mempunyai versi jQuery. Kod sumber JQuery Game Composition Crazy Word Ini adalah permainan mengisi kosong, dan ia dapat menghasilkan beberapa hasil yang pelik kerana tidak mengetahui konteks perkataan. Kod sumber JQuery Mine Sweeping Game

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Tutorial ini menunjukkan cara membuat kesan latar belakang paralaks yang menawan menggunakan jQuery. Kami akan membina sepanduk header dengan imej berlapis yang mewujudkan kedalaman visual yang menakjubkan. Plugin yang dikemas kini berfungsi dengan JQuery 1.6.4 dan kemudian. Muat turun

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Matter.js adalah enjin fizik badan tegar 2D yang ditulis dalam JavaScript. Perpustakaan ini dapat membantu anda dengan mudah mensimulasikan fizik 2D dalam penyemak imbas anda. Ia menyediakan banyak ciri, seperti keupayaan untuk mencipta badan yang tegar dan menetapkan sifat fizikal seperti jisim, kawasan, atau ketumpatan. Anda juga boleh mensimulasikan pelbagai jenis perlanggaran dan daya, seperti geseran graviti. Matter.js menyokong semua pelayar arus perdana. Di samping itu, ia sesuai untuk peranti mudah alih kerana ia mengesan sentuhan dan responsif. Semua ciri-ciri ini menjadikannya bernilai masa untuk belajar menggunakan enjin, kerana ini memudahkan untuk membuat permainan atau simulasi 2D berasaskan fizik. Dalam tutorial ini, saya akan merangkumi asas -asas perpustakaan ini, termasuk pemasangan dan penggunaannya, dan menyediakan

Artikel ini menunjukkan bagaimana untuk menyegarkan semula kandungan div secara automatik setiap 5 saat menggunakan jQuery dan Ajax. Contohnya mengambil dan memaparkan catatan blog terkini dari suapan RSS, bersama -sama dengan timestamp refresh terakhir. Imej pemuatan adalah opsyena


Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Dreamweaver CS6
Alat pembangunan web visual

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.