[解決済み] Angular2 : ラッピングタグなしでコンポーネントをレンダリングする
2022-05-14 04:43:38
質問
この方法を見つけるのに苦労しています。親コンポーネントに、テンプレートに記述された
table
とその
thead
要素をレンダリングしますが
tbody
のレンダリングを別のコンポーネントに委譲しています。
<table>
<thead>
<tr>
<th>Name</th>
<th>Time</th>
</tr>
</thead>
<tbody *ngFor="let entry of getEntries()">
<my-result [entry]="entry"></my-result>
</tbody>
</table>
各 myResult コンポーネントのレンダリングは、それぞれ独自の
tr
タグをレンダリングします。
<tr>
<td>{{ entry.name }}</td>
<td>{{ entry.time }}</td>
</tr>
これを直接親コンポーネントに入れない(myResultコンポーネントの必要性を回避する)理由は、myResultコンポーネントは実際にはここに示すよりも複雑なので、その動作を別のコンポーネントとファイルにまとめたいからです。
出来上がったDOMは、見た目が悪いです。これは、無効であるためだと思います。
tbody
を含むことができるのは
tr
要素
(MDN参照)
などがありますが、私の生成した(簡略化した)DOMは:
<table>
<thead>
<tr>
<th>Name</th>
<th>Time</th>
</tr>
</thead>
<tbody>
<my-result>
<tr>
<td>Bob</td>
<td>128</td>
</tr>
</my-result>
</tbody>
<tbody>
<my-result>
<tr>
<td>Lisa</td>
<td>333</td>
</tr>
</my-result>
</tbody>
</table>
同じものをレンダリングする方法はないでしょうか、しかしラップのない
<my-result>
タグを使用せず、テーブル行のレンダリングを単独で担当するコンポーネントを使用しながら、同じものをレンダリングする方法はありますか?
私は
ng-content
,
DynamicComponentLoader
は、その
ViewContainerRef
などがありますが、私が見る限りでは、これに対する解決策は提供されていないようです。
どのように解決するのですか?
属性セレクタを使用することができます。
@Component({
selector: '[myTd]'
...
})
のような使い方をします。
<td myTd></td>
関連
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
vue3.0プロジェクトのアーキテクチャを構築するための便利なツール
-
vueの補間表現とv-textディレクティブの違いについて
-
vueが定義するプライベートフィルタと基本的な使い方
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み】React Nativeアプリをターミナルから実行するとエラーが発生する(iOS)
-
[解決済み】ExpressJS - throw er Unhandled errorイベント
-
[解決済み】React.js: あるコンポーネントを別のコンポーネントにラップする
-
[解決済み] Angular2 RC6:「<コンポーネント>は既知の要素ではありません。
-
[解決済み] Angular2 bodyタグにクラスを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JSクロスドメインソリューション リアクト構成 リバースプロキシ
-
vue+webrtc(Tencent cloud)ライブ機能の実践を実現するために
-
vueにおけるfilterの適用シーンについて解説します。
-
[解決済み】Uncaught SyntaxError: JSONの位置0に予期しないトークンuがあります。
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。
-
フロントエンド null のプロパティ 'disabled' を読み取れない 問題が解決された
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。
-
jq は html ページとデータを動的に分割する。