【发布时间】:2016-08-03 12:13:53
【问题描述】:
我有一个要呈现表格的 Aurelia 自定义元素。它需要针对 OData 源控制分页等。我希望自定义元素的消费者提供行模板。我的元素的模板如下所示:
<template>
<div class="odata-table">
<div class="row">
<table>
<thead>
<tr>
<th repeat.for="column of columns">
${column.title}
</th>
</tr>
</thead>
<tbody>
<slot></slot>
</tbody>
</table>
</div>
</div>
</template>
然后当我食用它时:
<odata-table view-model.ref="resultsTable" url="http://localhost:5000/odata/v1/FooBar">
<tr repeat.for="record of resultsTable.records" slot="rows">
<td>${record.Foo}</td>
<td>${record.Bar}</td>
</tr>
</odata-table>
这些行永远不会出现在我的身体内。如果我将槽移到表外并用 ul & li 替换 tr & td,它会呈现数据就好了。
我需要做些什么来允许表格元素中的插槽?
【问题讨论】:
-
你打算用
view-model.ref="resultsTable"做什么?您似乎正在尝试“设置”视图模型。 -
view-model.ref 获取对自定义元素视图模型的引用。这允许我调用元素上的方法和访问属性。在这种情况下,我正在迭代它从我的 odata 源中检索到的记录。它还允许我在事后根据用户输入更改页面和配置。如果我将
移到表外并将 ... 更改为 - ...,则此代码完全有效
-
我没有测试过,但是如果你还没有尝试过,我建议你试试
。我在我的博客中写了一些关于其他表格模板模式的内容:davismj.me/blog/advanced-tables
-
标签: aurelia