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 ?
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 <
ré[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
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 êtrex,y,z
.Si vous voulez quelque chose de différent, vous devez écrire le modèle manuellement. Quelque chose comme:
J'espère que cela pourra aider.