2017-08-12 150 views
0

我想获取并设置一个布尔值为'checkvalue'。我想事先调用函数isItTrue来设置变量'checkvalue'。如果该框被(取消)选中/并且我检查它,它应该调用函数doSomething()。 我正在试验<input type="checkbox" id="{{ class.id }}" ng-init="checkBoxValue=isItTrue(class.id)"[(ngModel)]="class['checkBoxValue']"/>,但它似乎没有工作。有什么建议么?Angular 4 - 获取和设置模型

<table> 
     <thead> 
     <tr> 
     <th>class</th> 
     <th>subjects</th> 
     <th>class speaker</th> 
     </tr> 
     </thead> 
     <tbody> 
     <tr *ngFor="let class of classes"> 
     <td>{{ class.name }}</td> 
     <td> 
      <div class="form"> 
      <input type="text" class="md-input-text" placeholder=" " value=" " [(ngModel)]="subject"/> 
      <label class="md-desc">subjects</label> 
      </div> 
     </td> 
     <td> 
      <div class="md-checkbox"> 
      <input type="checkbox" id="{{ class.id }}" [(ngModel)]="class['checkBoxValue']"/> 
      <label for="{{ class.id }}"></label> 
      </div> 
     </td> 
     </tr> 
     </tbody> 
    </table> 
+0

ng-init无论如何都不是Angular的东西:) – Vega

回答

0

要做些什么的组件初始化:

import { OnInit } from '@angular/core'; 

,让你的组件实现它像

export class App implements OnInit{ 
} 

,你可以从ngOnInit生命周期的钩子方法调用你的方法:

ngOnInit() { 
    isItTrue(); 
} 

设置一个布尔值,校验值: 你应该有一个组件变量,并将其与绑定到输入:

[(ngModel)]="checkvalue" 

要打电话给你的功能,当输入的变化,您可以用变化实现它事件:

(change)="doSomething()" 

在此功能中,您可以用this.checkvalue您已经绑定访问输入的值。

查看全部代码此planker。希望能帮助到你 :)。