[解決済み] <ng-container> と <template> の比較
質問
ng-container
が記載されているのは
公式ドキュメント
しかし、私はまだそれがどのように動作し、どのような使用例であるかを理解しようとしています。
特に
ngPlural
と
ngSwitch
ディレクティブを使用します。
はたして
<ng-container>
と同じことをします。
<template>
それとも、ディレクティブがそのいずれかを使用するように書かれているかどうかに依存するのでしょうか?
です。
<ng-container *ngPluralCase="'=0'">there is nothing</ng-container>
そして
<template [ngPluralCase]="'=0'">there is nothing</template>
同じだと思う?
どうやって選ぶんだ?
どうすれば
<ng-container>
をカスタムディレクティブで使用することはできますか?
どのように解決するのですか?
編集 : 現在では 文書化
<ng-container>
救助にアンギュラ
<ng-container>
はグループ化要素で、AngularがDOMに配置しないため、スタイルやレイアウトに干渉しない。(...)
は
<ng-container>
は、Angularパーサーが認識する構文要素です。これはディレクティブでもコンポーネントでもクラスでもインターフェイスでもありません。どちらかというと、JavaScriptのifブロックの中括弧のようなものです。if (someCondition) { statement1; statement2; statement3; }
この中括弧がないと、JavaScriptは、条件付きですべての文を1つのブロックとして実行しようとした場合、最初の文しか実行しない。そのため
<ng-container>
は、Angularのテンプレートで同様のニーズを満たします。
オリジナルの回答です。
によると このプルリクエスト :
<ブロッククオート
<ng-container>
は論理的なコンテナで、ノードをグループ化するのに使用できますが、DOM ツリーではノードとしてレンダリングされません。
<ng-container>
はHTMLコメントとしてレンダリングされます。
ということで、このアンギュラーテンプレート。
<div>
<ng-container>foo</ng-container>
<div>
は、このような出力を生成します。
<div>
<!--template bindings={}-->foo
<div>
だから
ng-container
は、複数の要素を条件付きで追加したい場合に便利です。
*ngIf="foo"
を使用していますが
を別の要素で囲みたくはありません。
.
<div>
<ng-container *ngIf="true">
<h2>Title</h2>
<div>Content</div>
</ng-container>
</div>
を生成します。
<div>
<h2>Title</h2>
<div>Content</div>
</div>
関連
-
[解決済み】Angularで実際のエラーメッセージの代わりに「Http failure response for (unknown url): 0 Unknown Error」が表示されるのですが。
-
[解決済み】angularJS2プロジェクトでsystemjs.config.jsファイルをどこに置くか/見つけるか?
-
[解決済み】ngサーブが機能しない
-
[解決済み】「ルーター・アウトレット」は既知の要素ではない
-
[解決済み】「ルーターリンク」は既知のプロパティではないため、バインドできない
-
[解決済み] チョキダーからのエラー(C:┣ᴗ┣)。Error: EBUSY: resource busy or locked, lstat 'C:\DumpStack.log.tmp.
-
[解決済み] ReferenceError: localStorageが定義されていません。
-
[解決済み] コンポーネントテンプレートで要素を選択するには?
-
[解決済み] Angular2 - プライベート変数は、テンプレートでアクセス可能であるべきですか?
-
[解決済み] コンポーネントクラスからテンプレート参照変数にアクセスする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] node_modules が空になったので、`npm install`を実行する必要があるかもしれない。
-
[解決済み] @viewChildが機能しない - プロパティnativeElementがundefinedで読み込めない
-
[解決済み】angularJS2プロジェクトでsystemjs.config.jsファイルをどこに置くか/見つけるか?
-
[解決済み] Angular2 Router: Error: Cannot find primary outlet to load 'InboxComponent'.
-
[解決済み] 型 '{}' は型 '{ title: string; text: string; }' に代入できません。
-
[解決済み] "rxjs" observable.throw は関数ではありません - Angular4
-
[解決済み] パーサエラーです。式が期待される場所で補間({{}})を得た
-
[解決済み] Angular2 Selectorが、ネストしたComponentのどの要素にもマッチしない。
-
[解決済み] Angular InjectionTokenが「No provider for InjectionToken」をスローします。
-
[解決済み] Angular 2でngIfを余分な要素なしで使う