私はこの配列を持っています:
"オプション":[
"バツ"、
「y」、
「z」
]
「{{Optionen}}」を呼び出すと、「x、y、z」が返されます。
しかし、私は["x"、 "y"、 "z"]を取得する必要があります
これはバグですか、それとも何かが足りませんか?
はい、これは仕様によるものです。 データオブジェクトで一致するキーは、「偽」でない場合は強制的に文字列に変換されます。 配列の場合、JavaScriptはそれらをx,y,z
の形式の文字列に強制します(自分で試してみてください:firebugを開いて["x","y","z"].toString()
と入力すると、結果はx,y,z
になります。
別のものが必要な場合は、テンプレートを手動で作成する必要があります。 何かのようなもの:
[{{#Optionen}}"{{.}}",{{/Optionen}}]
お役に立てば幸いです。
これはかなり近いです。 [{{#Optionen}} "{{。}}"、{{/ Optionen}}]を使用すると、["x"、 "y"、 "z"、]が得られます。
残念ながら、この値が再度保存されると(たとえば、最初に「a」を追加した後)、最後のコンマが問題になります。 その最後のコンマを防ぐ方法はありますか?
ああ、保存した後、["a"、 "x"、 "y"、 "z"、]これを取得します: "[\" a、x、y、z \ "、]"
a、x、y、zを保存すると、正しい配列が得られます["a"、 "x"、 "y"、 "z"]
a、x、y、zに固執したほうがいいようです。
値をコンマで保存する必要がないことを願っています...
まあ、口ひげを使わない限り、簡単な解決策はないと思います。
私が間違っていることを訂正してください。 問題を解決します。
助けてくれてありがとう!
問題は解決しました
申し訳ありませんが、何をしようとしているのかわかりません。 「保存」の意味はわかりませんが、Mustacheの最後のコンマを削除するには、JavaScriptでリストを事前に繰り返してフラグ変数を導入するしか方法がないと思います。これは、その価値よりもすぐに問題になります。 @janlが構築しているヘルパー機能を使用すると、Mustache自体でこれを簡単に解決できる可能性があると思いますが、あまり詳しくないのでわかりません。
または、JSON.stringifyとJSON.parse(ブラウザーに組み込まれている)を確認してください。これらは、配列を期待する形式に逆シリアル化/シリアル化するのに役立ちます。
私は解決策を見つけました:.split( "、")はそれをしました!
そこで、口ひげを生やした値をフィールドにロードします。 次に、saveDocを使用してフィールドにデータを保存するときに、.split( "、)を使用します。
2011/12/12 Sahab Yazdani <
[email protected]
申し訳ありませんが、何をしようとしているのかわかりません。 「節約」の意味がわからない、
しかし、口ひげの最後のコンマを削除するには、それを行う唯一の方法だと思います
JavaScriptでリストを事前に繰り返すことにより、フラグ変数を導入することです。
それはすぐにその価値よりも厄介になります。 ヘルパーだと思います
@janlが構築している機能により、これを簡単に解決できる可能性があります
口ひげそのものですが、あまり馴染みがないのでよくわかりません。または、JSON.stringifyとJSON.parse(に組み込まれている
ブラウザ)これは、配列をあなたの形式に逆シリアル化するのに役立つ可能性があります
期待しています。このメールに直接返信するか、GitHubで表示してください。
https://github.com/janl/mustache.js/issues/146#issuecomment -3100397
最も参考になるコメント
はい、これは仕様によるものです。 データオブジェクトで一致するキーは、「偽」でない場合は強制的に文字列に変換されます。 配列の場合、JavaScriptはそれらを
x,y,z
の形式の文字列に強制します(自分で試してみてください:firebugを開いて["x","y","z"].toString()
と入力すると、結果はx,y,z
になります。別のものが必要な場合は、テンプレートを手動で作成する必要があります。 何かのようなもの:
お役に立てば幸いです。