我有这个数组:
“可选”:[
“X”,
“是”,
“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 萨哈卜·亚兹达尼 <
回复@reply.github.com
抱歉,不确定您要做什么。 不知道“节省”是什么意思,
但是要消除 Mustache 中的最后一个逗号,我认为唯一的方法是
是通过在 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
。如果你想要任何不同的东西,你需要手动编写模板。 就像是:
希望有帮助。