使用中的版本:
我有一个分为3个组件的页面。页面大纲,一个表格,它有自己的布局,包括行,其中一行包含行组件。在IE中,表格显示正常,在Chrome中,组件行中的所有数据都显示在第一列中。
<form>
<div>Title Stuff etc.</div>
<table-component [qlineModel]="QuoteLineModel"></table-component>
<div>Other stuff</div>
</form>
<table>
<thead>
<tr>
<th>ColA</th>
<th>ColB</th>
<th>Option</th>
</tr>
</thead>
<tbody>
<row-component *ngFor="let qlines of qlineModel"
[qline]="qlines">
</row-component>
<tr>
<td>Tot A</td>
<td>Tot B</td>
<td>Tot Opt</td>
</tr>
</tbody>
</table>
<tr>
<td>{{qline.A}}</td>
<td>{{qline.B}}</td>
<td>{{qline.C}}</td>
</tr>
IE给了我期望的输出
Title Stuff etc
ColA | ColB | Col C
100 200 300
200 300 400
___________________
300 500 700
Other Stuff
但是,Chrome给了我一个我不期望的输出
Title Stuff etc
ColA | ColB | Col C
100 200 300
200 300 400
_____ ______________
300 500 700
Other Stuff
我可以通过将表数据放入一个组件来解决它,但a)为我打败对象b)我想要打印表格,所以理想情况下要保持原样。我尝试了Angular2 table rows as component但不断获得NgFor只支持像数组这样的Iterables
任何帮助感激不尽。
你不能在<row-component>
里面有一个<tbody>
,因为那不是<tbody>
的有效孩子。
您可以将RowComponent
的选择器更改为[rowComponent]
,然后使用它
<tr rowComponent *ngFor="let qlines of qlineModel"
[qline]="qlines">
使用选择器:RowComponent中的'tr [row-component]'允许你渲染
<table>
<thead><!-- headers go here --></thead>
<tbody>
<tr row-component *ngFor="let qlines of qlineModel" [qline]="qlines"></tr>
</tbody>
</table>
这在Chrome和IE上都能正确呈现。