我需要将一个抽象数据(在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
我需要一些东西来传递数据并在其他组件中(通过导航),但数据不能保留在我的网址中。有办法用路线做到这一点吗?
答案 0 :(得分:0)
通过"传递"没有它出现在Url中的路线上的信息是使用服务。
您可以构建一个非常简单的服务:
import { Injectable } from '@angular/core';
@Injectable()
export class DataService {
serviceData: string;
}
您的第一个组件可以将值设置为服务,第二个组件可以从服务中读取值。这是一种非常常见的数据共享技术。