κ°μ²΄μ ν€/κ° μμ λ°λ³΅ν μ μμ΅λκΉ?
λ€μ μλ₯Ό κ³ λ €νμμμ€.
var values = {
'single': 'Single bed',
'double': 'Double bed',
'twin': 'Twin beds'
};
μμνλ handlebar.js μ½λ:
<select name="bed_type">
{{#values}}
<option value="{{@key}}">{{this}}</option>
{{/values}}
</select>
mustache.jsλ‘ ν λ°©λ²μ μ°Ύμ§ λͺ»νμ΅λλ€.
κ°μ¬ ν΄μ.
μλ νμΈμ @chlabμ λλ€!
λ°μ΄ν°λ₯Ό λ λλ¬μ μ§μ μ λ¬νλ λμ view
κ°μ²΄λ‘ νμμ μ§μ ν΄μΌ ν©λλ€. λλ μ¬μ©μ μ μ λμ°λ―Έλ₯Ό μ¬μ©νμμμ€. μ΄λ¬ν stackoverflow μ€λ λμ λν λͺ κ°μ§ μμ΄λμ΄κ° μμ΅λλ€.
http://stackoverflow.com/questions/9058774/handlebars-mustache-is-there-a-built-in-way-to-loop-through-the-properties-of
http://stackoverflow.com/questions/9981907/how-to-iterate-over-a-hash-in-mustache-js
μμ§ λͺ ννμ§ μμ κ²½μ° μλ €μ£Όμμμ€. 건배!
@dasilvacontin κ°μ¬ν©λλ€.
κ·Έλ κ² νλ κ²μ κ½€ μ΄μν λ°©λ²μΈ κ² κ°κ΅°μ, κ·Έλ μ£ ? κ·Έ μ΄μ λ 무μμ
λκΉ? νΈλ€λ° λ°©μμ΄ ν¨μ¬ κ°νΈνμ§ μμκΉμ?
건배
@chlab μ΄κ²μ Mustacheμ κΈ°λ³Έ μ리μ λλ€. λͺ¨λ λ Όλ¦¬λ ν νλ¦Ώκ³Ό λμΌνμ§ μμ λ³΄κΈ°λ‘ μΆμΆλμ΄μΌ ν©λλ€. μ΄λ° κ²½μ° μ½κ°μ λ Όλ¦¬κ° μμ΄μ λ μ΄μν΄λ³΄μ΄κΈ°λ νμ§λ§, 콧μμΌλ μ°λ¬μ§μ§ μλ λ―Έλλ¬μ΄ λΉνκΈΈ :)
κ·Έλ΄ μ μμ§. μ€λͺ κ°μ¬ν©λλ€!
μλ μΈκΈλ κΈ°λ³Έ μ리λ 콧μμΌμ λ무 λ λ¨μ μΌλ‘ λ§λ€λ©°, 콧μμΌμ ν볡νκ² νκΈ° μν΄ νμ λ³λμ μ ν λ¨κ³λ₯Ό λ§λ ¨νκ³ μΆμ§λ μμ΅λλ€...
λ¨μν κ°μ²΄μ λν λ°λ³΅μ νμ©νλ κ²μ΄ μ€μ λ‘ μ½§μμΌ λ³΄κΈ°μ λ Όλ¦¬λ₯Ό λμ νλ κ²μ λκΉ? λ΄ μ£Όμ₯μ μλμ€μ λλ€. λλ λ Όλ¦¬κ° μλ μμΉμ ν¬μ΄μ§λ§ μ΄λ―Έ λ°°μ΄μ λ°λ³΅ν μ μμ΅λλ€. μ΄κ²μ΄ λΆνμνκ² μ΄μνλ€λ OPμ λμν©λλ€. λ€μ μλ₯Ό κ³ λ €νμμμ€.
λ΄ λ°μ΄ν°λ λ€μκ³Ό κ°μ΅λλ€.
"attr": {
"class": "foo",
"href": "/somewhere"
}
νμ§λ§ λ€μκ³Ό κ°μμΌ ν©λλ€.
"attr": [
{
"key": "class",
"value": "foo"
},
{
"key": "href",
"value": "/somewhere"
}
]
λ λλ§νλ €λ©΄:
<a{{#attr}} {{ key }}="{{ value }}"{{/attr}}></a>
μλ νμΈμ μ¬λ¬λΆ,
μ΅λͺ λͺ©λ‘μ μ΄λ»κ² λ°λ³΅ν μ μμ΅λκΉ? {{#.}} λ° {{/.}}λ₯Ό μ¬μ©ν΄ 보μμ§λ§ μλνμ§ μμ΅λλ€.
κ°μ¬ ν΄μ
μ΅λͺ λͺ©λ‘μ λ°λ³΅νλ €λ©΄
let facts = doc.data();
res.render('index', {facts});
<ul>
{{#each facts}}
<li>Key: {{@key}} Value = {{this}}</li>
{{/each}}
</ul>
μ΄ λ¬Έμ μ 곡μμ μΈ κ²μ΄ μμ΅λκΉ?
ν€-κ° μμ΄ μλ μ΅λͺ κ°μ²΄ λͺ©λ‘μ μ€μ λ‘ μ¬μ©νλ λ°©λ²μ 무μμ λκΉ?
μ μλ κ°μ²΄ var values = { 'single': 'Single bed', ...}
μ μ§λ¬Έμ μ μλ μΆλ ₯μ μ¬μ©νμ¬ μ€μ μλ₯Ό 보μ¬μ£ΌμΈμ.
μΆμ : @prashantcs8 κ·νμ μλ μ€μ μ λκΉ? μλ μν¨.
@chlab μ°λ¦¬λ 2018λ μ μμ΅λλ€... Mustacheμ μ΅λͺ μ°Έμ‘°λ₯Ό μ¬μ©νλ μ΅μ μ΄ μλμ?
@baseten , μμ "νμ§λ§ κ·ΈλμΌλ§ ν©λλ€"λΌλ λ¬Έμ κ° μλλ°, λ°μ΄ν° ꡬ쑰 λ³νμ μ μ©νλ κ²μ 보기 ν ν©λλ€...
μ°μν μ루μ
μ μλμ§λ§ λ³νμ μννλ 콧μμΌ λμ°λ―Έ λ©μλκ° μλ res.render('index', objs2list(obj))
νκ³ μμ΅λλ€.
function objs2list(p) {
r = [];
for (var key in p) if (p.hasOwnProperty(key)) {
r.push({"@key":key,"@val":p[key]});
}
return r;
}
μ‘΄μ¬νλ€?
κ°μ₯ μ μ©ν λκΈ
λ¨μν κ°μ²΄μ λν λ°λ³΅μ νμ©νλ κ²μ΄ μ€μ λ‘ μ½§μμΌ λ³΄κΈ°μ λ Όλ¦¬λ₯Ό λμ νλ κ²μ λκΉ? λ΄ μ£Όμ₯μ μλμ€μ λλ€. λλ λ Όλ¦¬κ° μλ μμΉμ ν¬μ΄μ§λ§ μ΄λ―Έ λ°°μ΄μ λ°λ³΅ν μ μμ΅λλ€. μ΄κ²μ΄ λΆνμνκ² μ΄μνλ€λ OPμ λμν©λλ€. λ€μ μλ₯Ό κ³ λ €νμμμ€.
λ΄ λ°μ΄ν°λ λ€μκ³Ό κ°μ΅λλ€.
νμ§λ§ λ€μκ³Ό κ°μμΌ ν©λλ€.
λ λλ§νλ €λ©΄: