今天在工作当中碰到了个问题,当我点击地图上面的城市,从后台获取数据更新列表,明明后台的数据已经返回到前端,但是数据就是不能实时更新到页面上,因为在做第一版的时候是没有这个问题的,就感觉可能是自己调用后台接口的时候顺序出了问题,结果一直钻到死胡同里面去了,后来求助老大,终于把问题解决了,现在记录一下,以加深记忆。
问题:点击下面地图上的城市,更新列表
getPageList(){
//this.postMapJson 输入数据
this.netUserAnalyzeService.getCityOrRegionOrgUserList(JSON.stringify(this.postMapJson))
.then((res:any)=>{
var list =res.data.list;
var resList =this.netUserAnalyzeService.list(list);
this.orgLists = resList;
this.orgFirstId = res.data.list[0].organizationId;
this.pageParams.totalItems = res.data.page["totalResult"];
this.changeDetectorRef.markForCheck();
this.changeDetectorRef.detectChanges();
},error => this.errorMessage = error)
}
上面代码中 changeDetectorRef 所调用的具体的方法。
当然在使用之前需要引入:
import {ChangeDetectorRef} from '@angular/core';
constructor(
private changeDetectorRef:ChangeDetectorRef
){}