【问题标题】:Angular 2: closing tr-tagAngular 2:关闭 tr-tag
【发布时间】:2017-10-03 14:44:07
【问题描述】:

为什么这不起作用?我在浏览器控制台中收到“tr”的未闭合标签错误。

Error: Template parse errors:
Unexpected closing tag "tr". It may happen when the tag has already been closed by another tag.

但据我所知,应该没有未闭合的标签。 我一开始就打开tr,最后关闭它。所以 ngIf 中的 close-open 在任何情况下都应该起作用。

import {Component} from '@angular/core';

@Component({
selector: "parent",

template: `
<table border=1>
<tr>

<ng-container *ngFor="let k of [1,2,3,4]">
 <td>test</td>
 <ng-container *ngIf="true">
    </tr><tr>
 </ng-container>
</ng-container>

</tr>
</table>
`
})

export class ParentComponent {}

感谢您的帮助!

【问题讨论】:

    标签: javascript angular typescript angular2-template


    【解决方案1】:

    您的&lt;ng-container&gt; 中有一个表格行以错误的方式打开-关闭

    </tr><tr>
    

    应该是

    <tr></tr>
    

    【讨论】:

    • 这将在现有的&lt;tr&gt;...&lt;/tr&gt; 中嵌套一个&lt;tr&gt;&lt;/tr&gt;。例如:&lt;tr&gt;&lt;td&gt;test&lt;/td&gt;&lt;tr&gt;&lt;/tr&gt;&lt;/tr&gt; 我认为如果第二个包含评估为真,则 OP 正在尝试创建一个 second 行,否则只有一个。不是嵌套的。
    • @RoddyoftheFrozenPeas 好地方。是的,我误解了代码。在这种情况下,OP 应该将此代码移到原始 &lt;tr&gt; 之外。 &lt;ng-container *ngIf="true"&gt; &lt;tr&gt;&lt;/tr&gt; &lt;/ng-container&gt;
    • 我相信模板必须是有效的 HTML,否则 OP 无论如何都会遇到解析错误。必须重组代码,以便 不会嵌套在容器内。
    • 为什么?循环以打开的 开始。在任何可能的应用程序中,它都会关闭并再次打开。最后它被关闭了。
    猜你喜欢
    • 2015-05-17
    • 2016-09-03
    • 1970-01-01
    • 2017-04-20
    • 2017-11-28
    • 2019-05-04
    • 1970-01-01
    • 2019-03-20
    • 2021-02-28
    相关资源
    最近更新 更多