gpt4 book ai didi

angular - 在 Angular 8 中获取以前和当前的 URL

转载 作者:行者123 更新时间:2023-12-03 18:32:58 24 4
gpt4 key购买 nike

我想获取以前和当前的 URL 以在 Angular 8 中设置变量 prevUrlcurrentUrl
我有两个组成部分。 StudentComponentHelloComponent
当我从 HelloComponent 导航到 StudentComponent

StudentComponent构造函数中prevUrlcurrentUrl有值
但是当我点击 showUrl 按钮然后在浏览器的控制台中显示
prevUrl 未定义
currentUrl 未定义

我该如何解决这个问题?为什么构造函数中的prevUrlcurrentUrl有值,button中没有值?

学生部分:

prevUrl:string;
currentUrl:string;
constructor(private router: Router, private route: ActivatedRoute) {

this.router.events
.pipe(filter((evt: any) => evt instanceof RoutesRecognized), pairwise())
.subscribe((events: RoutesRecognized[]) => {
this.prevUrl = events[0].urlAfterRedirects;
this.currentUrl = events[1].urlAfterRedirects;
console.log('this.prevUrl constructor', this.prevUrl);
console.log('this.currentUrl constructor', this.currentUrl);
});

}

按钮:

showUrl = ()=>{

console.log('prevUrl',this.prevUrl);
console.log('currentUrl',this.currentUrl);
}

stackblitz

最佳答案

像这样尝试:

this.router.events.subscribe(event => {
if (event instanceof NavigationEnd) {
this.prevUrl = this.currentUrl;
this.currentUrl = event.url;
};
});

现场演示: https://stackblitz.com/edit/angular-route-event-hr2xsc

关于angular - 在 Angular 8 中获取以前和当前的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59468923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com