Javascript 车把模板
我有一个带有数据的数组,当我试图用handlebar模板编译它时,在获取“column”的值时,我得到的错误是“var fn=options.fn,inverse=options.inverse;-option未定义”。 有人能告诉我这里错过了什么吗Javascript 车把模板,javascript,handlebars.js,Javascript,Handlebars.js,我有一个带有数据的数组,当我试图用handlebar模板编译它时,在获取“column”的值时,我得到的错误是“var fn=options.fn,inverse=options.inverse;-option未定义”。 有人能告诉我这里错过了什么吗 testData = [ title : 'text1', values : {column: [0, 0, 0]} ] <table> {{#each}} <tr> <td>{{ti
testData = [
title : 'text1',
values : {column: [0, 0, 0]}
]
<table>
{{#each}}
<tr>
<td>{{title }}</td>
{{#each values}}
<td>{{column}}</td>
{{/each}}
</tr>
{{/each}}
</table>
var template = Handlebars.compile(tmpl_src);
var html = template(testData);
$(body).html(html);
testData=[
标题:“text1”,
值:{列:[0,0,0]}
]
{{{#各}
{{title}}
{{{#每个值}}
{{column}}
{{/每个}}
{{/每个}}
var template=handlebar.compile(tmpl\u src);
var html=模板(testData);
$(body).html(html);
我无法重现您的错误,但它看起来像是一个车把助手被错误调用。最有可能的候选者是您的{{{{each}}
,因为每个
都应该被调用以进行迭代。我们可以通过使用对象调用template函数来解决该问题,以便您的testData
在模板中有一个名称:
var testData = [
{ title : 'text1', values : {column: [0, 0, 0]} },
//...
];
var template = Handlebars.compile(tmpl_src);
var html = template({
rows: testData
});
<table>
{{#each rows}}
<tr>
<td>{{title}}</td>
{{#each values.column}}
<td>{{.}}</td>
{{/each}}
</tr>
{{/each}}
</table>
然后对模板进行轻微调整:
var testData = [
{ title : 'text1', values : {column: [0, 0, 0]} },
//...
];
var template = Handlebars.compile(tmpl_src);
var html = template({
rows: testData
});
<table>
{{#each rows}}
<tr>
<td>{{title}}</td>
{{#each values.column}}
<td>{{.}}</td>
{{/each}}
</tr>
{{/each}}
</table>
{{#每行}
{{title}}
{{{#每个值.列}
{{.}}
{{/每个}}
{{/每个}}
我还调整了内部each
,使其在values
内部的数组上迭代,而不是试图在values
本身上迭代,{.}
引用当前项,因此应该给出您所要查找的零
演示:我无法重现您的错误,但它看起来像是一个车把助手被错误调用。最有可能的候选者是您的
{{{{each}}
,因为每个
都应该被调用以进行迭代。我们可以通过使用对象调用template函数来解决该问题,以便您的testData
在模板中有一个名称:
var testData = [
{ title : 'text1', values : {column: [0, 0, 0]} },
//...
];
var template = Handlebars.compile(tmpl_src);
var html = template({
rows: testData
});
<table>
{{#each rows}}
<tr>
<td>{{title}}</td>
{{#each values.column}}
<td>{{.}}</td>
{{/each}}
</tr>
{{/each}}
</table>
然后对模板进行轻微调整:
var testData = [
{ title : 'text1', values : {column: [0, 0, 0]} },
//...
];
var template = Handlebars.compile(tmpl_src);
var html = template({
rows: testData
});
<table>
{{#each rows}}
<tr>
<td>{{title}}</td>
{{#each values.column}}
<td>{{.}}</td>
{{/each}}
</tr>
{{/each}}
</table>
{{#每行}
{{title}}
{{{#每个值.列}
{{.}}
{{/每个}}
{{/每个}}
我还调整了内部each
,使其在values
内部的数组上迭代,而不是试图在values
本身上迭代,{.}
引用当前项,因此应该给出您所要查找的零
演示:testData到底是什么样子?它是一个数组还是一个对象数组?testData是一个对象数组。
testData
到底是什么样子的?它是一个数组还是一个对象数组?testData是一个对象数组。