angular - Angular2 iterate over array of objects -


i have array following:

causes: any= [ {     'specification': {         'missing':false,         'unclear':false,         'wrong':false,         'changed':false,         'better way':false,     },     'design': {         'missing':false,         'unclear':false,         'wrong':false,         'changed':false,         'better way':false,     },     'code': {         'missing':false,         'unclear':false,         'wrong':false,         'changed':false,         'better way':false,     },     'documentation': {         'missing':false,         'unclear':false,         'wrong':false,         'changed':false,         'better way':false,     }, }] 

how can iterate on in template? tried like:

<div class="mdl-grid">     <div *ngfor=" let chunk of causes | chunks: 2; let j = index; " class="mdl-cell mdl-cell--4-col">         <label *ngfor=" let cause of chunk| values " #checkbox class="mdl-checkbox mdl-js-checkbox">             <input type="checkbox" name="causes" class="mdl-checkbox__input">             <span class="mdl-checkbox__label">{{cause}}</span>         </label>     </div> </div> 

but still gave me [object object]. trying populate each cause , against 5 checkboxes.

in code presented have 1 object inside array.

i assume array should this:

causes: = [     {         name: 'specification',         values: {             'missing': false,             'unclear': false,             'wrong': false,             'changed': false,             'better way': false,         },     },     {         name: 'design',         values: {             'missing': false,             'unclear': false,             'wrong': false,             'changed': false,             'better way': false,         },     },     {         name: 'code',         values: {             'missing': false,             'unclear': false,             'wrong': false,             'changed': false,             'better way': false,         },     },     {         name: 'documentation',         values: {             'missing': false,             'unclear': false,             'wrong': false,             'changed': false,             'better way': false,         },     } ] 

your html should

    <div class="mdl-grid">         <div *ngfor=" let chunk of causes" class="mdl-cell mdl-cell--4-col">             <div>checkboxes {{chunk.name}}</div>             <div *ngfor=" let cause of chunk.values | keys">                <label  #checkbox class="mdl-checkbox mdl-js-checkbox">                    <input type="checkbox" [name]=" chunk.name + '_' + cause" class="mdl-checkbox__input">                     <span class="mdl-checkbox__label">{{cause}}</span>                </label>             </div>         </div>     </div> 

where keys pipe custom pipe returns keys of object, array of strings. code pipe:

pipe

import { pipe, pipetransform } '@angular/core';  @pipe({     name: 'keys',     pure: false }) export class keyspipe implements pipetransform {     transform(value, args: string[]): {         return object.keys(value);     } } 

Comments

Popular posts from this blog

inversion of control - Autofac named registration constructor injection -

verilog - Systemverilog dynamic casting issues -

ios - Change Storyboard View using Seague -