2017-02-14 1 views
0

Ich versuche, Daten in einer HTML-Tabelle anzuzeigen. Weil der <tr> viele Male wiederholt wird und es eine Logik hat, die ich das zu seiner eigenen (Kind-) Komponente extrahieren wollte.Angular2 rendern nicht ChildComponent-Selektor

Aber Rendern einer untergeordneten Komponente innerhalb der <tbody> Allso rendert die Komponente als ein HTML-Attribut. Meine Vorlage wie folgt aussieht:

<tbody> 
    <custom-row [some-data]="data"></custom-row> 
</tbody> 

Aber wenn dies gemacht wird, wird es wie folgt aussehen:

<tbody> 
    <custom-row> 
     <tr><td></td></tr> 
    </custom-row> 
</tbody> 

Ist es möglich, te "custom-Reihe" Element im DOM nicht zu machen?

Antwort

3

Das ist kein Angular-Problem. Der Browser rendert <custom-row> nicht in <table>, da dieses Tag dort ungültig ist.

Ändern der Wähler Ihrer Komponente selector: '[custom-row]' und es wie

<tbody> 
    <tr custom-row [some-data]="data"></tr> 
</tbody> 
+0

, die den Trick tat nutzen! Danke Günter! –