[解決済み] angularで1つの要素に複数のテンプレートバインディングを適用する方法 [重複].
2022-12-05 01:25:06
質問
私は以下のようなテンプレートを使っています。
<ul [ngClass]="{dispN: !shwFilter,'list-group':true,'autoS':true,'dispB':shwFilter,'myshddw':true}" style=";display: none">
<li *ngIf="itsNotF && itsNotF.length" [ngClass]="{bgDFF: !colps[j],'list-group-item':true}" *ngFor="let valm1 of itsNotF;let j=index;" (click)="togFltr(j)" style="padding: 0;background: #fff">
<div *ngIf="valm1 && valm1.type=='1'">
<h5 style="padding:8px;margin: 0;">{{valm1['header']}}</h5>
<p style="margin: 8px;">{{valm1['body']}}</p>
<h6 style="padding:8px;margin: 0;">{{valm1['note']}}</h6>
</div>
<div *ngIf="valm1 && valm1.type=='2'" (click)="modlTxt=valm1;notREadVu(j)" data-toggle="modal" data-target="#myModal">
<h5 style="padding:8px;margin: 0;">{{valm1['header']}}</h5>
<h6 style="padding:8px;margin: 0;">{{valm1['note']}}</h6>
</div>
<div *ngIf="valm1 && valm1.type=='3'">
<h5 style="padding:8px;margin: 0;">{{valm1['header']}}</h5>
<p style="margin: 8px;">{{valm1['body']}}</p>
<h6 style="padding:8px;margin: 0;">{{valm1['note']}}</h6>
</div>
</li>
<li [ngClass]="{bgDFF: !colps[j],'list-group-item':true,'lgOt':true}" (click)="logout()">
<span class="title">Log Out <i class="fa fa-sign-out"></i></span>
</li>
</ul>
ということで、以下のようなエラーになります。
EXCEPTION: Template parse errors:
Can't have multiple template bindings on one element. Use only one attribute named 'template' or prefixed with * ("one">
<li *ngIf="itsNotF && itsNotF.length" [ngClass]="{bgDFF: !colps[j],'list-group-item':true}" [ERROR ->]*ngFor="let valm1 of itsNotF;let j=index;" (click)="togFltr(j)" style="padding: 0;background: #fff">
"): App@78:94
以前はエラーは出ませんでしたが、RC4にアップグレードした後、この問題に直面しました。
そこで、テンプレート構造を変更することなく、単一の要素に複数のテンプレートバインディングを適用するための回避策を教えてください。
どのように解決するのですか?
Angular2では1つの要素に2つのテンプレートバインディングを使うことはできません(*ngIfと*ngForのような)。しかし、spanや他の要素で要素を包むことで同じことが実現できます。このとき
<ng-container>
で囲むと、論理的なコンテナであり、DOMに追加されることはありません。例えば
<ng-container *ngIf="condition">
<li *ngFor="let item of items">
{{item}}
</li>
</ng-container>
関連
-
[解決済み] ngForにフィルターをかけるには?
-
[解決済み] Angularで@Input()の値が変更されたときに検出する方法は?
-
[解決済み] コンポーネントテンプレートで要素を選択するには?
-
[解決済み] Angularでselect要素をオブジェクトにバインドする
-
[解決済み】AngularでjQueryを使用するには?
-
[解決済み】Angularのテンプレートで変数を宣言する方法
-
[解決済み】Angularでルート変更を検出する方法は?
-
[解決済み] formControlNameとFormControlの違いは何ですか?
-
[解決済み] Angular cli - ng serve時の自動リロードを無効にする方法
-
[解決済み] どのようにしてangular 4のurlからparamを取得するのですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] コンポーネントクラスからテンプレート参照変数にアクセスする
-
[解決済み] ng serve がファイルの変更を自動的に検出しない
-
[解決済み] パイプ ' ' が見つかりません。
-
[解決済み] Angular 2のFormGroupからすべての検証エラーを取得する
-
[解決済み] Angular2 bodyタグにクラスを追加する
-
[解決済み] 新しいangularプロジェクトを作成する際に依存関係ツリーエラーを解決できない
-
[解決済み] Reactive Forms - フィールドをタッチしたものとしてマークする
-
[解決済み] angularで「タイプ 'EventEmitter' は一般的ではありません」ERROR。
-
[解決済み] 64進数の文字列を角(2+)でエンコードおよびデコードする。
-
[解決済み] の@ViewChildのreadパラメータは何ですか?