テーブルを再設計していて、デフォルトのTR要素の代わりに独自のカスタムコンポーネントを導入したいと考えていました。テーブルはこれと同じように動作し、このように見えます。カスタムの角型コンポーネントがテンプレートとしてTRとしてレンダリングされない
<table>
<thead>
<tr><th *ngFor="let column of this.columns">{{column.title}}</th></tr>
</thead>
<tbody>
<tr *ngFor="let row of this.rows"></tr>
</tbody>
</table>
はその後、私はいつものTRを代用するために私自身のコンポーネントを導入し、次に、グリッドのマークアップを切り替えます。
<table>
<thead>
<tr><th *ngFor="let column of this.columns">{{column.title}}</th></tr>
</thead>
<tbody>
<row *ngFor="let row of this.rows" [value]="row" [formats]="columns"></row>
</tbody>
</table>
新しいコンポーネントのマークアップは、次のように非常に基本的です。
<td *ngFor="let format of formats">
{{value[format.id]}}
</td>
これは機能します。私。 でもの値が生成されています(私はdevtoolsの確認を確認できます)がテーブルの最初の列に表示されます。したがって、データバインディングが機能します。マークアップの生成は動作します。失敗する唯一のことは、愚かなブラウザは行が(TRのように)想定されることを得られないということです。単一のTDとしてレンダリングできると考えています。
私は愚かなブラウザに私が言ったことではなく、私が何を意味するのか教えてください。
_ _「これは、属性ディレクティブと呼ばれて」いいえ、そうではありません。セレクタが変更されただけなので、なぜコンポーネントを別のものと呼びますか? – zeroflagL
@zeroflagL実際、あなたのコメントを読んだあと、コンポーネントの呼び出し方法を変更したことに気付きました。実際の**属性指示**を作成した '@ Directive'は使用しませんでした。彼のコンポーネントは、それがディレクティブのように呼び出されても '@ Component'を使用するため、コンポーネントです。それを指摘してくれてありがとう。 – SrAxi
@zeroflagLこの提案に欠陥があると言っていますか?現時点での私の混乱のレベルに基づいて、私は本当に敢えて言いません。私はそれがうまくいったので、私は答えを受け入れました。しかし、私は間違ったパターンを覚えていることを恐れています(また、将来のユーザーが頼りにして誤っている可能性があるためにトレースを残してしまいます)。どう思いますか? –