自定义元素如何具有多个 <tr> 组件
How custom element can have multiple <tr> components
我想创建一个 <table>
,其中多个自定义元素可以有多个 <tr>
组件。
我尝试使用 containerless
,但元素在 <table>
.
之外呈现
<table>
<thead>
<tr>
<th>Position</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<order-line repeat.for="line of lines" line.to-view="line" containerless></order-line>
</tbody>
</table>
自定义元素看起来像
<template>
<tr>
<td>${line.position}</td>
<td>${line.name}</td>
</tr>
<tr if.to-view="detailsVisible">
<td colspan="2">${line.complicatedDescription}</td>
</tr>
</template>
如何在一个 aurelia CustomElement 中获取包含详细信息的 table 行作为另一个 <tr>
元素?
这是 html 规范的限制。 <table>
元素不能包含 <tbody>
、<tr>
等以外的元素
您可以使用as-element
来克服这个限制:
<tr as-element="order-line" repeat.for="line of lines" line.to-view="line" containerless></tr>
这告诉模板编译器这个 <tr>
实际上是一个 order-line
自定义元素并按原样处理它。同时,它 "fools" 浏览器认为这只是一个普通的 <tr>
我想创建一个 <table>
,其中多个自定义元素可以有多个 <tr>
组件。
我尝试使用 containerless
,但元素在 <table>
.
<table>
<thead>
<tr>
<th>Position</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<order-line repeat.for="line of lines" line.to-view="line" containerless></order-line>
</tbody>
</table>
自定义元素看起来像
<template>
<tr>
<td>${line.position}</td>
<td>${line.name}</td>
</tr>
<tr if.to-view="detailsVisible">
<td colspan="2">${line.complicatedDescription}</td>
</tr>
</template>
如何在一个 aurelia CustomElement 中获取包含详细信息的 table 行作为另一个 <tr>
元素?
这是 html 规范的限制。 <table>
元素不能包含 <tbody>
、<tr>
等以外的元素
您可以使用as-element
来克服这个限制:
<tr as-element="order-line" repeat.for="line of lines" line.to-view="line" containerless></tr>
这告诉模板编译器这个 <tr>
实际上是一个 order-line
自定义元素并按原样处理它。同时,它 "fools" 浏览器认为这只是一个普通的 <tr>