使用导航传递抽象数据类型

时间:2018-03-15 17:36:13

标签: angular typescript

我需要将一个抽象数据(在Angular 4或5中)从一个组件传递给另一个组件而不在url中显示。我这样看:

let navigationExtras: NavigationExtras = {
    queryParams: {
      "firstname": "Nic",
      "lastname": "Raboy"
    }
};

this.router.navigate(['home-aluno/'+change.matricula], navigationExtras);

但这不回答我的问题。因为Nic和Rabo在我的网址中

网址示例:

http://localhost:4200/home-aluno/001?firstname=Nic&lastname=Raboy

我需要一些东西来传递数据并在其他组件中(通过导航),但数据不能保留在我的网址中。有办法用路线做到这一点吗?

1 个答案:

答案 0 :(得分:0)

通过"传递"没有它出现在Url中的路线上的信息是使用服务。

您可以构建一个非常简单的服务:

import { Injectable } from '@angular/core';

@Injectable() 
export class DataService {
  serviceData: string; 
}

您的第一个组件可以将值设置为服务,第二个组件可以从服务中读取值。这是一种非常常见的数据共享技术。