Mustache.js: Array dikonversi ke string

Dibuat pada 9 Des 2011  ·  5Komentar  ·  Sumber: janl/mustache.js

Saya memiliki larik ini:
"Opsi": [
"x",
"y",
"z"
]

Ketika saya memanggil "{{Optionen}}" ini dikembalikan: "x,y,z"

Tapi saya harus mendapatkan ["x", "y", "z"]

Apakah ini bug atau saya melewatkan sesuatu?

Komentar yang paling membantu

Ya, ini adalah dengan desain. Kunci apa pun yang cocok dengan objek data akan dipaksa menjadi string jika tidak "salah". Dalam hal array, JavaScript memaksanya menjadi string dalam format x,y,z (coba sendiri: buka firebug dan ketik ["x","y","z"].toString() dan hasilnya akan menjadi x,y,z .

Jika Anda menginginkan sesuatu yang berbeda, Anda perlu menulis template secara manual. Sesuatu seperti:

[{{#Optionen}}"{{.}}",{{/Optionen}}]

Semoga membantu.

Semua 5 komentar

Ya, ini adalah dengan desain. Kunci apa pun yang cocok dengan objek data akan dipaksa menjadi string jika tidak "salah". Dalam hal array, JavaScript memaksanya menjadi string dalam format x,y,z (coba sendiri: buka firebug dan ketik ["x","y","z"].toString() dan hasilnya akan menjadi x,y,z .

Jika Anda menginginkan sesuatu yang berbeda, Anda perlu menulis template secara manual. Sesuatu seperti:

[{{#Optionen}}"{{.}}",{{/Optionen}}]

Semoga membantu.

ini datang cukup dekat. Menggunakan [{{#Optionen}}"{{.}}", {{/Optionen}}] saya mendapatkan ["x", "y", "z", ]
Sayangnya koma terakhir akan menjadi masalah, ketika nilai ini disimpan lagi (setelah misalnya menambahkan "a" di awal). Apakah ada cara untuk mencegah koma terakhir itu?
Oh, setelah menyimpan, ["a", "x", "y", "z", ] saya mendapatkan ini: "[\"a,x,y,z\", ]"
menyimpan a,x,y,z memberikan Array yang benar ["a", "x", "y", "z"]
Sepertinya saya sebaiknya tetap berpegang pada a,x,y,z.
Harapan, saya tidak perlu menyimpan Nilai dengan koma ...
Yah, saya rasa tidak ada solusi yang mudah kecuali tidak menggunakan kumis.
Perbaiki saya itu saya salah. Menutup masalah.
Terima kasih banyak telah membantu!

masalah ditutup

Maaf, tidak yakin apa yang Anda coba lakukan. Tidak yakin apa artinya "menyimpan", tetapi untuk menghilangkan koma terakhir di Kumis, saya pikir satu-satunya cara untuk melakukannya adalah dengan memperkenalkan variabel flag dengan melakukan pra-iterasi daftar dalam JavaScript, yang dengan cepat menjadi lebih banyak masalah daripada nilainya. Saya pikir fungsionalitas pembantu yang dibangun oleh @janl mungkin membuat ini lebih mudah untuk diselesaikan di Kumis itu sendiri, tapi saya tidak yakin karena saya tidak terlalu akrab dengannya.

Atau, lihat JSON.stringify dan JSON.parse (di dalam browser) yang dapat membantu dalam de/serializing array ke dalam format yang Anda harapkan.

Saya menemukan solusinya: .split(", ") berhasil!
Jadi saya memuat nilai dengan kumis ke dalam bidang. Kemudian saya menggunakan .split(", ) saat menyimpan data di lapangan dengan saveDoc.

2011/12/12 Sahab Yazdani <
[email protected]

Maaf, tidak yakin apa yang Anda coba lakukan. Tidak yakin apa artinya "hemat",
tetapi untuk menghilangkan koma terakhir di Kumis, saya pikir satu-satunya cara untuk melakukannya
adalah memperkenalkan variabel flag dengan melakukan pra-iterasi daftar dalam JavaScript,
yang dengan cepat menjadi lebih banyak masalah daripada nilainya. Saya pikir pembantu
fungsionalitas yang dibangun oleh @janl mungkin membuat ini lebih mudah untuk dipecahkan
Kumis itu sendiri, tapi saya tidak yakin karena saya tidak terlalu mengenalnya.

Atau, lihat JSON.stringify dan JSON.parse (dibangun di dalam
browser) yang dapat membantu dalam de/serializing array ke dalam format yang Anda
mengharapkan.


Balas email ini secara langsung atau lihat di GitHub:
https://github.com/janl/mustache.js/issues/146#issuecomment -3100397

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

rlightner picture rlightner  ·  7Komentar

amper5and picture amper5and  ·  5Komentar

Immortalin picture Immortalin  ·  12Komentar

connor11528 picture connor11528  ·  3Komentar

zekth picture zekth  ·  18Komentar