Remova a etiqueta do componente host do html no angular 4

Eu tenho uma tabela na qual desejo exibir uma linha da tabela, que é um componente. E também quero passar dados para esse componente:

<table>
    <th>
        <td>col 1</td>
        <td>col 2</td>
        <td>col 3</td>
    </th>
    <tr>
        <my-component [data1]="data1" [data2]="data2"></my-component>
    </tr>
    <tr *ngFor="let item of list">
        {{item}}
    </tr>
</table>

Nomy-component, o HTML é alguns<td></td> com dados renderizados dedata1 edata2.

Mas depois de renderizá-lo, por causa de<my-component></my-component> meu CSS está quebrando, resultando em tudomy-component HTML (linha inteira da tabela) exibido na 1ª coluna.

Resultado acima:

<table>
    <th>
        <td>col 1</td>
        <td>col 2</td>
        <td>col 3</td>
    </th>
    <tr>
        <my-component>
            <td>data1.prop1</td>
            <td>data1.prop2</td>
        </my-component>
    </tr>
    <tr *ngFor="let item of list">
        {{item}}
    </tr>
</table>

Eu tentei o seguinte:

@Component({
    selector: '[my-component]',
    templateUrl: 'my-component.html'
})

<tr my-component [data1]="data1" [data2]="data2"></tr>

Mas isso resulta em erroCan't bind to 'data1' since it isn't a known property of 'tr'.

Também não posso usar@Directive como eu quero renderizar HTML.

Como posso renderizar o modelo de<my-component></my-component> sem<my-component></my-component> etiqueta, rótulo, palavra-chave?

Outras respostas são de versões anteriores do angular. Estou usando o Angular 4.3.4.

Qualquer ajuda seria apreciada..!

questionAnswers(1)

yourAnswerToTheQuestion