angular 2如何为模板刷新var

时间:2016-08-17 16:13:51

标签: javascript angular

我有一个var,每当它发生变化时我都需要传递给我的网站模板:

在我的组件中我有这段代码

private selected = 1;

this.$select.change(function () {
  this.selected = jQuery( 'input[type=radio][name=fb]:checked' ).val();
  console.log(this.selected);
}

一旦我更改了选择的单选按钮,新值就会存储在所选的值中,一切正常。

现在我的模板中有以下代码

<li *ngFor="let optie of vraag.opties; let i = index" [ngClass]="{'selectedclass': (selected == i)}">

当我加载我的网站时,i = 1的li获得了该课程并且正常工作。但是当我更改单选按钮时,控制台会记录新值。但是前端没有得到更新。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

而不是

this.$select.change(function () {

使用

this.$select.change( () => {

然后this.仍将指向当前的类。

我宁愿在收音机输入上使用[(ngModel)]="..."将其设置为特定值。使用jQuery这种方式在Angular2中是不鼓励的。