我是Angular的新手,我正在处理的应用程序有问题。基本上,我们有一个内容组件,该组件显示一些通过服务中的API调用获取的数据。还有一个带有搜索表单的标题组件,该表单显示了建议结果的列表。单击结果将路由到内容组件以显示结果。只需使用路由指向内容组件即可。
但是,如果您正在查看内容组件中的数据,然后搜索内容并单击结果,则新数据将合并到内容组件中的现有数据中,而不是刷新它们。
内容组件调用:
private getData(): void {
this.route.params.subscribe(params => {
this.apiService.getData(params['id']).subscribe(result => {
this.resultsList = result;
this.fillDataArray(this.resultsList, params['id']);
});
});
}
不确定我在做什么错,但是任何帮助将不胜感激。
答案 0 :(得分:0)
如果您的resultList是一个数组,则只需设置
this.resultList = null;
在将新数据分配为
之前 this.resultList = result;
尝试将您的代码重写为
private getData(): void {
this.route.params.subscribe(params => {
this.apiService.getData(params['id']).subscribe(result => {
this.resultList = null;
setTimeout(()=>{
this.resultList = result;
this.fillDataArray(this.resultsList, params['id']);
},1000);
});
});
}
我认为这应该可行,但是请告诉我是否可以解决您的问题
答案 1 :(得分:0)
我会怀疑import pandas as pd
df=pd.read_csv(filename,sep='\s+',header=None)
print(df.values.tolist())
总是将项目推入现有数组而从未清除。 this.fillDataArray
的第一步应该是清除数组,例如使用this.fillDataArray