2017-04-02 6 views
3

角度2のボタンをクリックして、ラベルを入力テキストボックスに置き換えたい場合や、その逆の場合もあります。私はsomekindのngIfを使用する必要がありますが、 。角2 - フォームフィールドを編集するにはクリックしてください

HTML:

<form> 
<div class="information"> 
    <label *ngIf="editMode">{{textValue}}</label> 
    <input *ngIf="editMode" [ngModel]="name"> 
    <button (click)="editMode=true">Edit</button> 
    <button (click)="editMode=false">Save</button> 
</div> 
</form> 
+0

これは良く見えますが、現在の状況はどうですか? –

+0

何と置き換えますか? –

+0

私が欲しいのは、この質問に対する答えです。 http://stackoverflow.com/questions/37404746/replacing-label-with-input-textbox-and-vice-versa-by-clicking-a-button-in-angula これは角度1で、私は使用しています角度2とng-showとng-hideは角度2の一部ではありません – pPeter

答えて

1

あなたは*ngIf年代のいずれかに追加する必要がある唯一のものは、感嘆符です:

<label *ngIf="!editMode">{{textValue}}</label> 

editModeがfalseの場合、ラベルが表示されていることを意味しています。感嘆符はNOT演算子で、変数の真理テストとして使用されます。ここをクリックしてください:What does an exclamation mark before a variable mean in JavaScript

+0

私はそれを試しました。それは私に与えられました:https://plnkr.co/edit/B6o0yydz0iUEVSKKjY4c?p=preview 私が欲しいのは、編集ボタンを押すと入力フィールドに名前ラベルが表示されます – pPeter

+0

「ng-show」と「ng-hide」を使用しています。あなたはあなたの質問にあるように* ngIfを使用することになっています:) – Alex

+0

@VarunBalachanthiranは有効なプランカーではありません、ここにAJT_82が何を意味するのplunker:https://plnkr.co/edit/U1poqbiD8uLmk4Bw8AOM – echonax

関連する問題