2017-07-27 36 views
0

我想獲得從列表項所有的「ID」,「檢查」我怎樣才能把一個數值在幻燈片的toogle角材料

<div *ngFor="let item of list"> 
    <md-slide-toggle [(ngModel)]="item.id"> 
     item.name 
    </md-slide-toggle> 
</div> 
+0

請問您的對象有任何'boolean'財產?或者,如何知道切換是否被選中或取消選中?如果可能的話,添加一個'list'數組的例子,或者它的一個對象。 – Nehal

+0

布爾是這種情況下必須像條件 –

+0

你是什麼意思的「布爾是這種情況下必須像條件」? – Nehal

回答

1

您可以創建一個單獨的數組,保留哪個項目的軌跡在'列表'中已被標記爲true。然後,您可以使用change輸出event向組件發出有關item的信息並對其執行操作。

示例代碼:

HTML:

<div *ngFor="let item of list; let i = index"> 
    <md-slide-toggle [checked]="flagArray[i]" 
        (change)="sendToServer($event, i, item)"> 
     {{item.name}} 
    </md-slide-toggle> 
</div> 

component.ts:

flagArray = []; 

    list = [ 
    { id: '1', name: 'item 1'}, 
    { id: '2', name: 'item 2'}, 
    { id: '3', name: 'item 3'}, 
    { id: '4', name: 'item 4'}, 
    ] 

    constructor(){ 
    for(let i=0; i<this.list.length; i++){ 
     this.flagArray.push(false); 
    } 
    } 

    sendToServer(event, index, item){ 
    this.flagArray[index] = event.checked; 

    if(event.checked == true){ 
     // add code to send item to server 
     alert("item to send to server: " + JSON.stringify(item));   
    } 
    else{ 
     // add code to remove item from server 
     alert("item to remove from server: " + JSON.stringify(item)); 
    } 
    } 

Plunker demo

相關問題