我有一个带变量的组件说'id'在这个组件中,我调用了一个服务,该服务将该变量(id)作为参数, 在我的模板中,我将一个单选按钮的值赋给变量(id).. 问题是..我在" ngOnInit()"中调用我的服务,所以它没有取得单选按钮的值,但是取了&#的初始值34; ID" .. 这是我的代码:
在我的组件中:
import { Component, OnInit } from '@angular/core';
import { BartersService } from '../../core/services/barters.service';
export class BarterViewComponent implements OnInit {
id:string="";
allCategories ;
constructor( private barServ: BartersService) { }
ngOnInit() {
this.barServ.findByPage(this.id)
.subscribe(respone => {
this.allCategories = respone.data;
});
}
onSelectionChange(val) {
this.id = val;
}
}
在我的模板中:
<div *ngFor="let cat of allCategories ; let i=index;">
<input style="margin-bottom: 10px;" type="radio" #R
(change)="onSelectionChange(R.value )" name="rad" value="cat['id']">
{{cat['name']}}
</div>
目标是根据单选按钮的选择更新视图。
答案 0 :(得分:2)
更改此
value="cat['id']"
到
[value]="cat['id']"
或value="{{cat['id']}}"
答案 1 :(得分:0)
你可以试试这个:
export class BarterViewComponent implements OnInit {
id:string="";
allCategories ;
constructor( private barServ: BartersService) { }
ngOnInit() {
refreshCategories()
}
onSelectionChange(val) {
this.id = val;
refreshCategories()
}
refreshCategories() {
this.barServ.findByPage(this.id).subscribe(respone => {
this.allCategories = respone.data;
});
}
}