1

私は、配列要素であるモデルを持っています。私はHTMLの下に見つけるngIf condition.Please上の各要素の値をクリアしたい:falseに設定フラグangular2のngIfのngModelの値をリセットします。

  <div *ngIf="flag" > 
      <table id="table" class="table table-hover table-bordered table-mc-light-blue"> 
       <thead> 
        <tr> 
         <th>col 1</th> 
         <th>col 2</th> 
        </tr> 
       </thead> 
       <tr *ngFor="let item of collection;"> 
        <td>{{item.col1}}</td> 
        <td> 
         <input type="text" class="form-control" [(ngModel)]="item.col2" #input="ngModel" name="input-{{i}}"> 
        </td> 
       </tr> 
      </table> 
     </div> 

を、私はコレクションのすべての値をクリアしたいです。 コレクションを初期化するオプションがありますが、私はそのようなコレクションがいくつかあるので、そうしたくありません。

助けを借りればどんなに助かりますか?

+0

「フラグ」値はいつ変更されますか、どのような場合ですか? – Aravind

+0

実際にはイベントはありません。ラジオボタンにngmodelとしてバインドされたフラグ変数があります。ラジオボタンの変更時に内容を表示しています –

+0

ありがとうございます。 。 。 .. – Aravind

答えて

1
<input type="radio" (change)="resetForm()"/> 


resetForm(){ 
    if(!this.flag){ 
      this.collection = new Array() 
    } 
} 
0

フラグをfalseに設定する "イベント"またはメソッド呼び出しとは何ですか?

これはメソッド呼び出しで、コレクションをクリアすることもできます。

このような何か:あなたのコンポーネントで

public toggleFlag() { 
    this.expandFlag = !this.expandFlag; 
    this.collection = []; 
} 
+0

実際、イベントはありません。** flag **変数はngmodelとしてラジオボタンにバインドされています。ラジオボタンの変更時に内容を表示しています –

0

ngDoCheck() { 
    if (!this.flag) { 
     this.collection = []; 
    } 
} 

そして、あなたはこのようなDoCheckを実装する必要があります。

export class myClass implements OnInit, DoCheck { 

基本的に、これはそのトリガーリスナーです変化が起こるたびに、this.flagが偽であることを確認しますcollection配列要素を空にします。

+0

それは働いていましたが、ngDoCheckが複数回呼び出されていたので、私は(変更)イベントを選択しました –

+0

@JayakrishnanGounderああ、ok。とにかく助けてくれてうれしいです..;)素敵な一日を! – SrAxi

関連する問題