我有一个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获得了该课程并且正常工作。但是当我更改单选按钮时,控制台会记录新值。但是前端没有得到更新。
我做错了什么?
答案 0 :(得分:2)
而不是
this.$select.change(function () {
使用
this.$select.change( () => {
然后this.
仍将指向当前的类。
我宁愿在收音机输入上使用[(ngModel)]="..."
将其设置为特定值。使用jQuery这种方式在Angular2中是不鼓励的。