2015-09-30 19 views
-1

应该在使用车把4.0.3应用程序不能正常工作,我有这个简单的模板:每个与车把

{{#each certificates}} 
    <tr> 
    <td data-title='Certification'>{{this}}</td> 
    </tr> 
{{/each}} 

而且我用编译如下:

result = template(certificates: ['test']) 

我有这个结果:

<table class="table table-hover table-condensed tablesorter"> 
    <tbody><tr> 
    <td data-title="Certification">[object Object]</td> 
    </tr></tbody> 
</table> 

我想我应该有“测试”,而不是“[对象对象]”。

我试着用这个模板:

{{#each certificates}} 
<tr> 
    <td data-title='Certification'>{{this}}</td> 
    <td data-title='Certification'>{{name}}</td> 
</tr> 
{{/each}} 

而且这个JavaScript:

result = template({ certificates: [{name: 'Name'}]}) 

而且我有tyhis结果:

<table class="table table-hover table-condensed tablesorter"> 
    <tbody><tr> 
    <td data-title="Certification">[object Object]</td> 
    <td data-title="Certification"></td> 
    </tr></tbody> 
</table> 

正如你所看到的,{{name}}给什么,而不是“名称”。

我做错了什么?

编辑1

我发现了这个问题。

我有这个网站:

<div id='modal-site'> 
    <table> 
     <tbody> 
     {{#each site.certificates}} 
     <tr> 
      <td>{{this.name}}</td> 
     </tr> 
     {{/each}} 
     </tbody> 
    </table> 
    </div> 
</div> 

当我这样做$('#modal-site').html(),我有这样的结果:

{{#each site.certificates}} 

{{/each}} 
<table> 
    <tbody><tr> 
    <td>{{this.name}}</td> 
    </tr></tbody> 
</table> 

随着each在外面这么车把不能工作。你有解决方案的想法吗?

+0

尝试'{{this.name}}'在HTML(为第二次执行模板)。 – Nonemoticoner

+0

您的第二个实施应该按原样工作https://jsbin.com/sicijiwuba/edit?html,js,console –

+0

@RoyMiloh,我编辑了我的问题 – Dougui

回答

0

对于模板的第二个实现,如果要访问字符串数据,则应在HTML中使用{{this.name}}

+0

不起作用。 – Dougui

+0

我编辑了我的问题 – Dougui

+0

让整个解决方案成为一个jsfiddle。我在你的脚本中看不到'''''''''数组,其中包含'certificates'数组。 – Nonemoticoner

0

使用以下语法:

{{#each certificates as |cert|}} 
<tr> 
    <td data-title='Certification'>{{cert}}</td> 
</tr> 
{{/each}}