私のAngular 2アプリのテンプレートでは、画面への印刷フラグを処理しています。これはAngular 2(Angular 4ではなく)であり、Angular 4に移動する準備がまだ整っていないので、私は "else"ブロックを定義することができないので、何かを達成する別の方法を見つけなければなりません"else"ブロックで単純です。* ngIfを使用してアクティブなvs非アクティブなフラグを処理してアングル2のAppで表示する
「完了===偽」のフラグがある場合、このテーブルのデータの列にフラグを印刷しています。つまり、これらのフラグはアクティブです。
私が挑戦しているのは、フラグがないか存在する状況を処理する方法ですが、そのオブジェクトのプロパティ "completed"は "true"に設定されていますそれらはもはやアクティブフラグではない。
基本的には、フラグがある場合には* ngForと* ngIfを使用してフラグを印刷し、それらのフラグに対しては「completed」プロパティを「false」に設定します。フラグがないか、見つかったすべてのフラグに "completed"プロパティが "true"に設定されている場合は、画面に "Clear"を印刷したいだけです。これは私がこれまで持っているものです。
<ng-container *ngFor="let service of record.services">
<ng-template *ngIf="service?.service === 'consulting services' && service?.flags">
<ng-template *ngFor="let flag of service.flags">
<span *ngIf="flag?.completed === false" class="standard-flag"
[class.hold-flag]="flag?.flagType === 'hold'">Flag
</span>
</ng-template>
<ng-template *ngFor="let flag of service.flags">
<span *ngIf="flag?.completed === true" class="green-flag">Clear
</span>
</ng-template>
</ng-template>
</ng-container>
今これが生産されているものは、フラグの両方の種類は、(いずれかの「偽」または「真」である「完了」)画面に印刷されています。私がしたいのは、何も言わないということです。フラグがないか、フラグがありますが、すべてが "completed === true"の場合は、画面に "Clear"を表示します。
このように、「フラグ」または「クリア」のいずれかの列には常に何かがありますが、両方が同じ列になることはありません。希望は分かります。
これを達成するために、ここでどのような構文構造を使用できますか?
ngSwitchはAngular 2に存在しますか、それともAngularJSですか? – Ademo
ええ、私は間違ったドキュメントにリンクして申し訳ありません、私は私の答えを修正しますが、私は私のプロジェクトでそれを使用しています – chairmanmow
クール。それはまさに私が必要とするものかもしれません。ありがとう、ありがとう。 – Ademo