λ¬Έμμμ μμ λ₯Ό μλνλ©΄ λ€μ μ€λ₯κ° λ°μν©λλ€.
μ‘νμ§ μμ μ€λ₯: 3νμ ꡬ문 λΆμ μ€λ₯:
{{ #κ° μ¬λ }}
'ID'κ° νμνμ§λ§ 'μ μλμ§ μμ'μ΄ μμ΅λλ€.
@ustun , μ°λ¦¬κ° μ΄κ²μ μ λλ‘ λλ²κΉ νλ €λ©΄ μ‘°κΈ λ λ§μ μ½λλ₯Ό 보μ¬μ€μΌ ν©λλ€. μ΄λ₯Ό μν΄ jsfiddleμ ν¨κ» μ¬μ©ν μ μλ€λ©΄ κ°μ₯ λμμ΄ λ κ²μ λλ€.
@wagenet λΉ λ₯Έ λ΅λ³ κ°μ¬ν©λλ€. λ¬Έμ λ λ©μΈ νμ΄μ§μ κ°λ¨ν #each μμ μ λμΌνκΈ° λλ¬Έμ μμ°μ‘°μ°¨ ν μ μλ€λ κ²μ λλ€. jsfiddleμμ μλνκ±°λ Chrome μ½μμμ ν μ€νΈλ₯Ό μ λ ₯ν΄λ μλνμ§λ§ μ΄λ€ μ΄μ λ‘ html()μμ λ°νλ ν μ€νΈκ° μ€ν¨ν©λλ€. μ΄λ»κ² λ κ°νμΌλ‘ νΌλμ€λ¬μμ§κ³ μλμ§ κΆκΈν©λλ€.
λ€μμ μ½μ μΈμ μ λλ€. 보μλ€μνΌ ν νλ¦Ώμ μλμΌλ‘ μ λ ₯νλ©΄ μλν©λλ€.
ν
νλ¦Ώ = $(#μ¬λ-μΈ-ν΄λΌμ΄μΈνΈ ν
νλ¦Ώ").html()
"
{{ #each people }}
<li>{{ this }}</li>
{{ /each }}
"
t = Handlebars.compile(template);
function (context, options) {
if (!compiled) {
compiled = compile();
}
return compiled.call(this, context, options);
}
t({"people": ['foo','bar']})
Error: Parse error on line 3: {{ #each people }}<li> ---^ Expecting 'ID', got 'undefined'
μ΄μ μλμΌλ‘ μλ:
template = "{{#each people }}<li>{{ this}}</li>{{/each}}"
"{{#each people }}<li>{{ this}}</li>{{/each}}"
t = Handlebars.compile(template);
function (context, options) {
if (!compiled) {
compiled = compile();
}
return compiled.call(this, context, options);
}
t({"people": ['foo','bar']})
"<li>foo</li><li>bar</li>"
html() μΆλ ₯μ νΈλ¦¬λ°ν΄λ ν¨κ³Όκ° μμ΅λλ€.
κ·Έλμ,
template = $.trim($("#people-in-clients-template").html())
"
{{ #each people }}
<li>{{ this }}</li>
{{ /each }}
"
t = Handlebars.compile(template);
function (context, options) {
if (!compiled) {
compiled = compile();
}
return compiled.call(this, context, options);
}
t({"people": ['foo','bar']})
Error: Parse error on line 3: {{ #each people }}<li> ---^ Expecting 'ID', got 'undefined'
λ΄ ν νλ¦Ώμ μ΄μ§ λ°μ΄ν°κ° μλ κ² κ°μ΅λλ€.
template = "{{#each people }}<li>{{ this}}</li>{{/each}}"
"{{#each people }}<li>{{ this}}</li>{{/each}}"
/[\x00-\x1F]/.test(template)
false
template = $("#people-in-clients-template").html()
"
{{ #each people }}
<li>{{ this }}</li>
{{ /each }}
"
/[\x00-\x1F]/.test(template)
true
λ¬Έμ κ° λλ ν νλ¦Ώμ λ¬Έμ μ½λλ λ€μκ³Ό κ°μ΅λλ€.
a = [10, 10, 123, 123, 32, 35, 101, 97, 99, 104, 32, 112, 101, 111, 112, 108, 101, 32, 125, 125, 3, 10 , 116, 104, 105, 115, 32, 125, 125, 10, 123, 123, 32, 47, 101, 97, 99, 104, 32, 125, 125, ]10, 10
b="";
for (i = 0; i < a.length; i++) {
b += String.fromCharCode(a[i]);
}
t = ν νλ¦Ώ({"μ¬λ: ['foo','bar']});
λ€μμ jsfiddleμ λλ€.
μ’μ, λ¬Έμ λ μΈμλμ§ μλ λ¬Έμμ κ΄λ ¨μ΄ μκ³ μ€μ λ‘ λ§€μ° κ°λ¨νμ§λ§ λ΄ μλ² μΈ‘ ν
νλ¦Ώ μμ§μ }} μμ 곡백μ λ£μ΅λλ€.
λ€μμ λ¬Έμ λ₯Ό ν΄κ²°νμ§λ§ {# κ° μ¬λ }}μ μ¬λ°λ₯΄κ² ꡬ문 λΆμνκΈ° μν΄ νΈλ€λ°λ₯Ό μμ ν΄μΌ νλμ§ μ¬λΆλ νμ€νμ§ μμ΅λλ€.
source = $("#people-in-clients-template").html();
source = source.replace(/ }}/g, "}}");
source = source.replace(/{{ /g, "{{");
μλͺ»λ μΈμ½λ© λ μ€μ λ²κ·Έμ²λΌ 보μ λλ€.
κ°μ₯ μ μ©ν λκΈ
μ’μ, λ¬Έμ λ μΈμλμ§ μλ λ¬Έμμ κ΄λ ¨μ΄ μκ³ μ€μ λ‘ λ§€μ° κ°λ¨νμ§λ§ λ΄ μλ² μΈ‘ ν νλ¦Ώ μμ§μ }} μμ 곡백μ λ£μ΅λλ€.
λ€μμ λ¬Έμ λ₯Ό ν΄κ²°νμ§λ§ {# κ° μ¬λ }}μ μ¬λ°λ₯΄κ² ꡬ문 λΆμνκΈ° μν΄ νΈλ€λ°λ₯Ό μμ ν΄μΌ νλμ§ μ¬λΆλ νμ€νμ§ μμ΅λλ€.