Mustache.js: Tableaux convertis en chaînes

Créé le 9 déc. 2011  ·  5Commentaires  ·  Source: janl/mustache.js

J'ai ce tableau :
"En option": [
"X",
"y",
"z"
]

Quand j'appelle "{{Optionen}}" ceci est retourné : "x,y,z"

Mais j'ai besoin d'obtenir ["x", "y", "z"]

Est-ce un bug ou ai-je raté quelque chose ?

Commentaire le plus utile

Oui, c'est par conception. Toute clé qui correspond dans l'objet de données sera convertie en chaîne si elle n'est pas "fausse". Dans le cas des tableaux, JavaScript les convertit en chaînes au format x,y,z (essayez par vous-même : ouvrez Firebug et tapez ["x","y","z"].toString() et le résultat devrait être x,y,z .

Si vous voulez quelque chose de différent, vous devez écrire le modèle manuellement. Quelque chose comme:

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

J'espère que cela pourra aider.

Tous les 5 commentaires

Oui, c'est par conception. Toute clé qui correspond dans l'objet de données sera convertie en chaîne si elle n'est pas "fausse". Dans le cas des tableaux, JavaScript les convertit en chaînes au format x,y,z (essayez par vous-même : ouvrez Firebug et tapez ["x","y","z"].toString() et le résultat devrait être x,y,z .

Si vous voulez quelque chose de différent, vous devez écrire le modèle manuellement. Quelque chose comme:

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

J'espère que cela pourra aider.

cela s'en rapproche. En utilisant [{{#Optionen}}"{{.}}", {{/Optionen}}] j'obtiens ["x", "y", "z", ]
Malheureusement la dernière virgule sera un problème, lorsque cette valeur sera à nouveau sauvegardée (après avoir par exemple ajouté "a" au début). Existe-t-il un moyen d'empêcher cette dernière virgule ?
Oh, après avoir enregistré, ["a", "x", "y", "z", ] j'obtiens ceci : "[\"a,x,y,z\", ]"
enregistrer a,x,y,z donne le tableau correct ["a", "x", "y", "z"]
On dirait que je ferais mieux de m'en tenir à a,x,y,z.
J'espère que je n'ai jamais besoin d'enregistrer une valeur avec une virgule...
Eh bien, je suppose qu'il n'y a pas de solution facile à moins de ne pas utiliser de moustache.
Corrigez moi je me trompe. Fermeture du problème.
Merci beaucoup pour votre aide!

problème clos

Désolé, je ne sais pas ce que vous essayez de faire. Je ne sais pas ce que "sauver" signifie, mais pour éliminer la dernière virgule dans Moustache, je pense que la seule façon de le faire est d'introduire une variable d'indicateur en pré-itérant la liste en JavaScript, ce qui devient rapidement plus problématique que sa valeur. Je pense que la fonctionnalité d'assistance que @janl est en train de créer pourrait faciliter la résolution de ce problème dans Moustache lui-même, mais je n'en suis pas sûr car je ne le connais pas trop.

Vous pouvez également consulter JSON.stringify et JSON.parse (intégrés au navigateur) qui peuvent aider à dé/sérialiser les tableaux dans le format que vous attendez.

J'ai trouvé la solution : .split(", ") l'a fait !
Je charge donc la valeur avec moustache dans un champ. Ensuite, j'utilise .split(", ) lors de l'enregistrement des données sur le terrain avec saveDoc.

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

Désolé, je ne sais pas ce que vous essayez de faire. Je ne sais pas ce que "sauvegarder" signifie,
mais pour éliminer la dernière virgule dans Moustache, je pense que la seule façon de le faire
est d'introduire une variable flag en pré-itérant la liste en JavaScript,
qui devient rapidement plus de problèmes que sa valeur. Je pense que les aides
la fonctionnalité que @janl est en train de développer pourrait faciliter la résolution de cela dans
Mustache lui-même, mais je ne suis pas sûr car je ne le connais pas trop.

Vous pouvez également consulter JSON.stringify et JSON.parse (intégrés au
navigateur) qui peut aider à dé/sérialiser les tableaux dans le format que vous
attendent.


Répondez directement à cet e-mail ou consultez-le sur GitHub :
https://github.com/janl/moustache.js/issues/146#issuecomment -3100397

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

SmasherHell picture SmasherHell  ·  18Commentaires

connor11528 picture connor11528  ·  3Commentaires

kuldeepdhaka picture kuldeepdhaka  ·  9Commentaires

chlab picture chlab  ·  11Commentaires

rlightner picture rlightner  ·  7Commentaires