角度5:新数据与旧数据合并

时间:2018-10-25 08:25:17

标签: angular

我是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']);
      });
    });
  }

不确定我在做什么错,但是任何帮助将不胜感激。

2 个答案:

答案 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