Angular 4 - Get und Set ng-model

时间:2017-08-12 19:24:55

标签: angular angularjs-ng-model ngoninit

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

    <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>

1 个答案:

答案 0 :(得分:0)

要对组件初始化执行某些操作:

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

让你的组件像

一样实现它
export class App implements OnInit{ 
}

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

ngOnInit() {
    isItTrue();
}

将布尔值设置为checkvalue: 您应该有一个组件变量,并使用以下命令将其绑定到输入:

[(ngModel)]="checkvalue"

要在输入更改时调用您的函数,您可以使用更改事件来实现:

(change)="doSomething()"

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

请参阅此planker了解整个代码。希望它有所帮助:)。