2017-08-07 9 views
0

私は、テーブルの名前のリストを表示するAngular 2アプリを持っています。最も右の列には、ユーザーが選択できるアクションのアイコンの行が表示されます。編集アイコンを選択すると、リスト内のその項目を編集できるポップアップが表示されます。ただし、特定の名前については、そのオプションを無効にする必要があります。アイコンを隠して表示するためのブール値の2番目のリストを作成することに加えて(Based on this SO answer)、どうすればよいですか?私は実際には、最初の要素だけを編集してはならないことがわかっています(ユーザーにプリロードされているので)、リンクの答えを使うのは悪い解決策のように思えます。アングル2リスト内の特定の要素を隠す

答えて

1

あなたはそれはあなたが*ngForindexオプションを使用することができ、リスト内ののみ最初要素だということを知っている場合は、どのような0mpurdyが提案するだけで、素晴らしいですhere in the documentation

<div *ngFor="let hero of heroes; let i=index;"> 
    ({{i}}) {{hero.name}} 
    <ng-container *ngIf="i !== 0"> 
    Show edit 
    </ng-container> 
</div> 

Live plunk

+0

私はこれを試してみましょう、ありがとう!決してインデックス自体を使用するとは考えていない。はい、最初の要素はグローバルです。リストに最初にロードされるときに常に表示され、変更されてはいけません。ユーザーは編集しないでください。送信時に、その要素が存在しない場合、私はそれを検証し、この項目を変更するために何が起こったのか疑問に思う。テストするときにこれを答えとして更新します! – user3334871

+1

@ user3334871注意:コードに間違いがありました(これは私が今修正しました)、それをデモするための生き生きしさがあります – 0mpurdy

0

を説明しましたあなたはまた、firstを使用することができます(ここで借りて0mpurdysコードを使用することができます) :

<div *ngFor="let hero of heroes; let first=first"> 
    {{hero.name}} 
    <ng-container *ngIf="!first"> 
    Show edit 
    </ng-container> 
</div> 
関連する問題