Seperti judul pertanyaan mengatakan, apakah ada cara kumis / setang perulangan melalui properti objek ?
Begitu juga dengan
var o = {
bob : 'For sure',
roger: 'Unknown',
donkey: 'What an ass'
}
Lalu bisakah saya melakukan sesuatu di mesin templat yang akan setara dengan
for(var prop in o)
{
// with say, prop a variable in the template and value the property value
}
?
{{#each this}}
. Pilihan istilah Anda juga membingungkan (apa yang membuat satu objek "tingkat atas" dan yang lain tidak? Apa sebenarnya kunci "yang ditentukan sebelumnya" dll?), Sehingga Anda mungkin ingin meninjau kembali konsep-konsep ini.Sebenarnya cukup mudah diterapkan sebagai pembantu:
Kemudian gunakan seperti ini:
sumber
EDIT: Setang sekarang memiliki cara untuk mencapai ini; lihat jawaban yang dipilih di atas. Ketika bekerja dengan Kumis biasa, di bawah ini masih berlaku.
Moustache dapat mengulangi item dalam array. Jadi saya sarankan membuat objek data terpisah yang diformat dengan cara Kumis dapat bekerja dengan:
Sekarang, template Moustache Anda akan menjadi seperti:
Lihat bagian "Daftar Non-Kosong" di sini: https://github.com/janl/mustache.js
sumber
Ini adalah jawaban @ Ben yang diperbarui untuk digunakan dengan Ember ... catatan yang harus Anda gunakan
Ember.get
karena konteks dilewatkan sebagai String.Templat:
sumber
@ Amit jawaban baik karena akan bekerja di Moustache dan Setang.
Sejauh solusi khusus Handlebars, saya telah melihat beberapa dan saya suka
each_with_key
pembantu blok di https://gist.github.com/1371586 yang terbaik.'key'
, atau'property'
, dll.sumber
Terima kasih atas solusi Ben, kasus penggunaan saya hanya menampilkan bidang tertentu secara berurutan
dengan objek
Kode:
Sumber objek:
Templat:
Keluaran:
sumber
Ini adalah fungsi pembantu untuk mustacheJS, tanpa memformat data sebelumnya dan sebaliknya mendapatkannya saat render.
Templat:
Keluaran:
(pesanan mungkin acak - ini peta) Ini mungkin berguna jika Anda tahu elemen peta yang Anda inginkan. Berhati-hatilah dengan nilai-nilai palsu.
sumber
Saya menggunakan versi lama
1.0.beta.6
dari setang, saya pikir di suatu tempat selama 1.1 - 1.3 fungsi ini ditambahkan, jadi memperbarui ke 1.3.0 memecahkan masalah, ini adalah penggunaannya:Pemakaian:
sumber