为什么My Angular Service中的数据会被擦除?

时间:2018-02-06 20:38:39

标签: angular

我有一个上传文件并将数据保存在服务中的组件

this.csvDataService.saveCSV(csv)

然后我重定向到另一个服务:

this.router.navigate(['/map'])

在我的地图组件中:

  ngOnInit() {
    this.getSnappedRoute()
  }

  getSnappedRoute() {
    let inputCSV = this.csvDataService.getCSV()
    this.googleMapsService.tracePathOnRoad(inputCSV).subscribe(routeLocations => {
      this.snappedRoute = routeLocations['json']['snappedPoints'];
      this.openMap();
    })
  };

  openMap() {
    let mapProp = {
      center: new google.maps.LatLng(this.snappedRoute[0]['location']['latitude'], this.snappedRoute[0]['location']['longitude']),
      zoom: 5,
      mapTypeId: google.maps.MapTypeId.hybrid
    }

    let map = new google.maps.Map(document.getElementById("googleMap"), mapProp)
  }

这是第一次运行良好,但是如果我刷新页面,我的csvDataService中的csv数据就会消失。

1 个答案:

答案 0 :(得分:1)

Angular服务中的数据存储在内存中。刷新页面(如重新启动应用程序)会清除该内存。没有理由期望应用程序状态持续重载。无论是将它放在服务,组件还是任何其他对象中,都是如此。

如果您需要它,请使用cookie或本地存储,或将数据发送到数据库。