【发布时间】:2021-08-07 10:59:04
【问题描述】:
我的标签视图上有一个名为 peoples 的数组。我需要根据更改函数更改数组项。虽然更改功能成功运行并且在控制台上每次更改后以不同方式打印数组,但视图本身并没有改变从ngInit() 分配的初始值;
ngOnInit(){
this.someservice.loadallpeople().subscribe(data=>{
this.peoples=data.Data;
});
}
loadpeople(category:any){
this.someservice.getpeoplebycat(category).subscribe(data=>{
this.peoples=data.Data;
});
}
<select [(ngModel)]="category.name"
(ngModelChange)="loadpeople(category.name)">
<option *ngFor="let cat of category">{{category.name}} </option>
</select>
<div *ngFor="let people of peoples">
<span>{{people.name}}</span>
</div>
我已经使用了一些方法,但它们似乎都不起作用。任何小的帮助将不胜感激。
【问题讨论】:
-
请显示
change()函数。和loadpeople()函数有什么关系? -
您能提供stackblitz 的最小复制吗?就像你展示的那样,它应该可以工作,所以其他地方一定有问题
-
您不会取消订阅
loadallpeople。它可能与此相关,以防可观察对象发出一个新值。 -
@Aneesh 您找到解决问题的方法了吗?我的对你有用吗?
标签: arrays angular data-binding angular8 ngfor