Angular 收到5页的帖子

Angular 收到5页的帖子,angular,angular5,Angular,Angular5,我有一个有角度的页面,我查询一个Web服务,然后对数据进行一系列处理,最后得到100个名字。在HTML页面上,我只是显示数字100,但是如果我点击它,我想进入一个新页面,在那里我显示所有100个实际名称。显然,URL字符串中传递的数据太多了 我不知道如何直接发布到有角度的页面。处理这个问题的正确方法是什么 这不是同一页面上的父/子关系。组件之间的交互通过其输入和输出属性完成。有关更多信息,请参阅链接 因此,基本上您可以使用这些属性将数据从一个组件传递到另一个组件。您最好的选择是将这100个名称存

我有一个有角度的页面,我查询一个Web服务,然后对数据进行一系列处理,最后得到100个名字。在HTML页面上,我只是显示数字100,但是如果我点击它,我想进入一个新页面,在那里我显示所有100个实际名称。显然,URL字符串中传递的数据太多了

我不知道如何直接发布到有角度的页面。处理这个问题的正确方法是什么


这不是同一页面上的父/子关系。

组件之间的交互通过其
输入
输出
属性完成。有关更多信息,请参阅链接


因此,基本上您可以使用这些属性将数据从一个组件传递到另一个组件。

您最好的选择是将这100个名称存储在客户端服务中。然后,您可以从任一页面访问服务以显示100或显示100个名称

服务是一个简单的类,可以作为单例实现,这意味着即使在从一个组件移动到另一个组件之后,分配给服务的数据仍保留在服务中

我举了一个例子:

然后在您要路由到的新组件中,您只需获得如下数据:

export class MainComponent {

  constructor(public dataService: DataService) { }

  getData() {
     // whatever code you are using now to get the data.
     this.dataService.serviceData = retrievedData;
  }
}
export class OtherComponent {

  get data():string { 
    return this.dataService.serviceData; 
  } 

  constructor(public dataService: DataService) { } 
}

然后,您的其他组件可以使用
data
属性绑定到数据。

由于Angular是SPAs的框架,因此将数据后传递到“详细信息视图”并不是一个完美的解决方案。您可以使用
@Input
属性来获取信息并将信息传递给子组件。

这只适用于具有父子关系的组件。虽然这是一个可能的解决方案,但创建一个仅用于保存数据的服务听起来并不正确。在我所有的课程、演示和研讨会中,我提到共享数据是服务的一个关键目的。但不管怎样,我不认为这是正确的方法。但从我的语言背景来看,这似乎有点不寻常。使用@Input()属性肯定要容易得多。。。假设OP正在使用父/子组件。我需要将它们发送到新页面。他们点击的东西和一堆其他东西放在一起,所以仅仅以内联方式显示它并不能很好地工作。似乎@Input对这一点不起作用,因为我理解文档。
export class OtherComponent {

  get data():string { 
    return this.dataService.serviceData; 
  } 

  constructor(public dataService: DataService) { } 
}