Satu perbedaan kecil tapi signifikan adalah dalam cara kedua perpustakaan mendekati ruang lingkup. Kumis akan kembali ke lingkup induk jika tidak dapat menemukan variabel dalam konteks saat ini; Setang akan mengembalikan string kosong.
Ini hampir tidak disebutkan dalam GitHub README, di mana ada satu baris untuk itu:
Setang sedikit menyimpang dari Moustache karena tidak melakukan pencarian rekursif secara default.
Namun, seperti disebutkan di sana, ada bendera untuk membuat Setang berperilaku dengan cara yang sama seperti Kumis - tetapi itu mempengaruhi kinerja.
Ini memiliki efek pada cara Anda dapat menggunakan #
variabel sebagai kondisional.
Misalnya di Kumis Anda dapat melakukan ini:
{{#variable}}<span class="text">{{variable}}</span>{{/variable}}
Ini pada dasarnya berarti "jika variabel ada dan benar, cetak rentang dengan variabel di dalamnya". Namun di Handlebars, Anda harus:
- menggunakan
{{this}}
saja
- gunakan jalur induk, yaitu,
{{../variable}}
untuk kembali ke lingkup yang relevan
- mendefinisikan
variable
nilai anak dalam variable
objek induk
Lebih detail tentang ini, jika Anda menginginkannya, di sini .