2017-07-14 79 views
0

最初我想推动所有的菜单进入一个状态为0的数组,使用初始事件触发器,然后使它1,如果它被检查,否则0本身。是否有可能做一个事件改变时,ngFor最初加载?如何在初始加载时触发更改事件?

**app.html** 

    <div *ngFor="let menu of menus" class="checkbox"> 
     <label> 
     <input type="checkbox" (change)="updateChecked(menu,$event)"> 
     {{menu.name}} 
     </label> 
    </div> 
+0

无法理解您想要做什么?你能给更多的细节 –

+0

@JayakrishnanGounder更新 – Ajith

回答

1

附上menu.status[(ngModel)]然后角度做工作适合你,你需要的就是提供一个数组与复选框无论是1 or 0ngModel将根据复选框的值更改状态值初始状态值,内部的JavaScript把1 and 0作为true or false当您切换复选框,这样menu.status将在输出true or false,下面是工作片段

<ul> 
     <li *ngFor="let menu of menus; let i = index"> 
      <label> 
      <input type="checkbox" [(ngModel)]="menu.status" (change)="updateChecked(menu, $event)" class="" />{{menu.name}} 
      </label> 
     </li> 
    </ul> 

在打字稿文件

export class AppComponent{ 
    menus: any[]; 
    constructor() { 
     this.menus = [ 
      { 
       name: 'home', 
       status: 0 
      }, 
      { 
       name: 'about', 
       status: 1 
      } 
     ] 
    } 

    updateChecked(menu, event) { 
     console.log(this.menus); // inspect menu, menus and event here 
    } 
} 
相关问题