Ember屈服于传递

时间:2015-03-11 14:55:54

标签: ember.js handlebars.js

我试图将一个论点传递给一个收益率块,但是我错过了一些我看不到的东西。情况就是这样:

组件/表notes.hbs

<table>
   ...
  <tbody>
    {{#each note in notes}}
      <tr>
        <td>{{yield note}}</td>
        ...
      </tr>
    {{/each}}
   </tbody>
 </table>

别处

{{#table-notes notes=model.notes}}
  //do something with each note
{{/table-notes}}

这个参数传递有什么不对或不完整吗?

提前致谢。

1 个答案:

答案 0 :(得分:8)

我认为你不能在1.10之前的版本中做到这一点。但是在1.10中,您可以执行以下操作:

声明组件模板和yield

<script type="text/x-handlebars" id="components/table-notes">
   {{#each notes as |note|}}
    {{ yield note }}
   {{/each}}
</script>

并在模板中使用声明变量名为note的组件,如下所示:

<script type="text/x-handlebars" data-template-name="index">    
  {{#table-notes notes=model.notes as |note|}}
    <h3>{{ note }}</h3>
  {{/table-notes}}
</script>

工作示例here

您可以在组件中阅读有关块参数的更多信息,这是1.10中的新功能,here