Ractivejs:如何在视图中开始工作嵌套属性

时间:2014-03-25 02:40:28

标签: ractivejs

我有results生成的headersheaders_.keys(result[0])

r{
  data:{
    headers:['head1','head2']
    result:[
      {head1:'content1',head2:'content2'}
      {head1:'content3',head2:'content4'}
      {head1:'content5',head2:'content6'}
    ]
}

我必须创建一个dinamically表,所以我创建了这个:

<table class="ui celled table segment">
  <thead>
    <tr>
    {{#headers}}
    <th>{{.}}</th>
    {{/headers}}
  </tr></thead>
  <tbody>
    {{#result:i}}
    <tr>
      {{#headers:h}}
        <td>{{????}}</td> <-- Here is where I fail to know what to put into
      {{/headers}}
    </tr>
    {{/result}}
  </tbody>
</table>

有人可以帮助我填补空白。所以我可以创建一个显示contents

的表格

如果我删除了{{#headers}}部分并且我已经知道元素<td>{{.head1}}</td>完美地工作,问题是我正在生成不同的对象。

1 个答案:

答案 0 :(得分:0)

{{#result:i}}
  <tr>
    {{#headers:h}}
      <td>{{result[i][this]}}</td> 
    {{/headers}}
  </tr>
{{/result}}

这样做的原因是,<td>数组中的每个项目都会重复headers,因为它位于headers部分内 - 到目前为止,非常明显。因此,我们可以使用this来引用当前标头(head1head2等)。诀窍是获取对当前行的引用 - 并且因为您已经创建了i索引引用,我们可以使用result[i]轻松完成。因此result[i][this]

这是一个演示小提琴:http://jsfiddle.net/rich_harris/dkQ5Z/