Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 路线改变时服务值变为空-角度5_Angular_Service_Angular5 - Fatal编程技术网

Angular 路线改变时服务值变为空-角度5

Angular 路线改变时服务值变为空-角度5,angular,service,angular5,Angular,Service,Angular5,我有一个服务dataequipment.service.ts,其中有一个变量“equipmentList”。 我通过API设置了equipmentList的值,一切都很顺利; 但当我导航到另一个组件时,“设备列表”为空 console.log(this._data.equipmentList.lenght); //returns 0 我能做什么 在dataequipment.service.ts中,我有这个 equipmentList = []; addEquipment(element)

我有一个服务dataequipment.service.ts,其中有一个变量“equipmentList”。 我通过API设置了equipmentList的值,一切都很顺利; 但当我导航到另一个组件时,“设备列表”为空

console.log(this._data.equipmentList.lenght); //returns 0
我能做什么

在dataequipment.service.ts中,我有这个

equipmentList = [];

addEquipment(element) {
   equipmentList.push(element); 
};
然后在其他组件中,我有equipment.component.ts(例如),所有组件都工作得很好。 如果我访问“this.equipmentList.equipmentList”,它会显示元素(工作正常)

然后,如果我使用带有[routerLink]=“设备详细信息”的链接导航到“设备详细信息.component.ts”

当我试图从我的服务中检索设备列表时,它是空的

console.log(this._data.equipmentList.lenght); //returns 0

您是否在app.module/sharedmodule中声明了此服务?我在Providers,Providers:[DataequipmentService]中的de app.module中声明了此服务。我发现了错误,它是“device.component.ts”,我还将Providers:[DataequipmentService]放在@component中。谢谢@HugoQuiñónez我也有类似的问题。根据您的评论,您是否必须向组件添加
提供程序
,或将其删除?thanksah没关系,你从@Component中删除了它,谢谢