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