2017-07-01 27 views
0

は助けてください。チェックボックスをオンにすると(true)、totalSumにコストを追加します。チェックボックス(false)を指定するとtotalSumからコストが削除されます。どうしたのか分かりません。助けてください。ありがとう! どのようにしましたか?あなたは以下のようにこれを処理するために[ngModel]ngModelChange()を使用する必要がありますアンギュラ4総合計

+0

それはどのように、答えを行ったのいずれかのお手伝いをしましたか? :) – Alex

答えて

0

<div *ngFor= "let list of lists" > 
    <input type="checkbox" (ngModelChange)="check($event,list)" 
      [ngModel]="list.checked" />{{list?.name}} 

</div> 


check(status,list: any){ 
     if(status) { 
      this.cart.push(list.cost); 
     } 
     console.log(this.cart); 
} 

注:他の部品の取り扱いが行われていません。

LIVE DEMO

0

あなたは総和をしたい場合、私はAravindが提案のようにしてください、あなたの反復でtotalSum

totalSum = 0; 

命名例えば、配列が、変数を使用していないだろうし、 [ngModel](ngModelChange)を使用します。

<div *ngFor= "let list of lists" > 
    <input type="checkbox" (ngModelChange)="check($event, list.cost)" 
      [ngModel]="list.checked" />{{list.name}} 
</div> 
我々は、単にチェックボックスがチェックされている場合はそうならば、チェック合計に追加し、そうでない場合は、 totalSumから値を減算

check(isChecked, cost){ 
    if(isChecked) { 
    this.totalSum += cost; 
    } else { 
    this.totalSum -= cost; 
    } 
} 

その後、あなたのcheck方法は次のようになります。

DEMO