Angular 需要将参数作为查询/路径传递,但不应在URL上可见
我需要将一个参数从一个路由传递到另一个路由,但它不应该对用户可见。我需要Angular 6。如果您不想更改URL,可以使用Angular 需要将参数作为查询/路径传递,但不应在URL上可见,angular,typescript,angular6,Angular,Typescript,Angular6,我需要将一个参数从一个路由传递到另一个路由,但它不应该对用户可见。我需要Angular 6。如果您不想更改URL,可以使用skipLocationChange策略 您可以使用 然后使用Angular和服务读取并覆盖URL历史记录 它并不优雅,但很有效,并且达到了你的要求 位置历史记录的检查和重写示例: this.router.events.pipe(filter(event => event instanceof NavigationEnd)) .subscribe((event: Nav
skipLocationChange
策略
您可以使用
然后使用Angular和服务读取并覆盖URL历史记录
它并不优雅,但很有效,并且达到了你的要求
位置历史记录的检查和重写示例:
this.router.events.pipe(filter(event => event instanceof NavigationEnd))
.subscribe((event: NavigationEnd) => {
const matrixParams = this.location.path().split(';');
... do something with the matrixParam
if(matrixParams.length > 1) {
this.location.replaceState(matrixParams[0])
}
}));
其他想法(如上所述):
- 使用服务传递数据,在OnInit中检查数据
- 如前所述,使用@Input()在组件之间传递它