์ด ๋ฐฐ์ด์ด ์์ต๋๋ค.
"์ต์
": [
"์์ค",
"์์ด",
"์ง"
]
"{{Optionen}}"์ ํธ์ถํ๋ฉด "x,y,z"๊ฐ ๋ฐํ๋ฉ๋๋ค.
ํ์ง๋ง ["x", "y", "z"]๋ฅผ ์ป์ด์ผ ํฉ๋๋ค.
์ด๊ฒ์ ๋ฒ๊ทธ์ ๋๊น ์๋๋ฉด ์ ๊ฐ ๋์น๊ณ ์๋ ๊ฒ์ด ์์ต๋๊น?
์, ์ด๊ฒ์ ์๋๋ ๊ฒ์
๋๋ค. ๋ฐ์ดํฐ ๊ฐ์ฒด์์ ์ผ์นํ๋ ๋ชจ๋ ํค๋ "falsy"๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฌธ์์ด๋ก ๊ฐ์ ๋ณํ๋ฉ๋๋ค. ๋ฐฐ์ด์ ๊ฒฝ์ฐ JavaScript๋ ์ด๋ฅผ x,y,z
ํ์์ ๋ฌธ์์ด๋ก ๊ฐ์ ๋ณํํฉ๋๋ค(์ง์ ์๋: ๋ฐฉํ๋ฒ์ ์ด๊ณ ["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"]์ด ์ ๊ณต๋ฉ๋๋ค.
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
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์, ์ด๊ฒ์ ์๋๋ ๊ฒ์ ๋๋ค. ๋ฐ์ดํฐ ๊ฐ์ฒด์์ ์ผ์นํ๋ ๋ชจ๋ ํค๋ "falsy"๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฌธ์์ด๋ก ๊ฐ์ ๋ณํ๋ฉ๋๋ค. ๋ฐฐ์ด์ ๊ฒฝ์ฐ JavaScript๋ ์ด๋ฅผ
x,y,z
ํ์์ ๋ฌธ์์ด๋ก ๊ฐ์ ๋ณํํฉ๋๋ค(์ง์ ์๋: ๋ฐฉํ๋ฒ์ ์ด๊ณ["x","y","z"].toString()
๋ฅผ ์ ๋ ฅํ๋ฉด ๊ฒฐ๊ณผ๋x,y,z
์ฌ์ผ ํฉ๋๋ค.๋ค๋ฅธ ๊ฒ์ ์ํ๋ฉด ํ ํ๋ฆฟ์ ์๋์ผ๋ก ์์ฑํด์ผ ํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๊ฒ:
๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.