我有 3 页来实现这个场景。
现在,
如果我转到第一页,然后单击以导航到第二页。然后,在第二页上,我单击后退按钮。它工作正常(即导航到第一页)。
现在,从第一页,我转到第二页,然后单击导航到第三页。然后,在第三页中,我单击后退按钮,它按预期重定向到第二页。
现在,如果我单击第二页上的后退按钮,它会再次转到第三页。我希望将其重定向到第一页。
在这里,实际上根据代码,它工作正常,但我的要求是
我有 2 个页面 company 和 companyApp,其中两个页面都有相同的指南和 pin 页面..所以,我希望指南页面重定向到公司页面,如果我曾经从公司页面访问过指南页面,即使指南页面已经并且来自图片页面。
如果我去过公司应用程序页面的引导页面,那么它必须重定向到公司应用程序页面,即使它再次被定向到图像页面和所有页面。
那么,谁能帮我解决这个问题:
TS:
// 1st Page:
goToGuide1(company){
this.router.navigate(['/guide',company.user._id]);
}
// 2nd page:
import {Location} from '@angular/common';
constructor(private _location: Location) {}
goToCompany1() {
this._location.back();
}
goImg(guide) {
this.router.navigate(['/guideimg', guide._id]);
}
// 3rd page
goToGuide1() {
this.router.navigate(['/guide',this.user_id])
}
在第二页:如果我转到图像页面并单击后退按钮,它会转到指南页面但不会转到第一页。
我们使用localStorage
并存储当前组件的优点并相应地重定向,
既然你有,
{ path: 'company', component: CompanyComponent, canActivate:[AuthGuard] },
{ path: 'companyapp', component: CompanyAppComponent, canActivate:[AuthGuard] }
在公司组件中:
goToGuide(company){
this.localStorage.store('oldroute', 'company')
this.router.navigate(['/guide',company.user._id]);
}
在 companyApp 组件中:
goToGuide(company){
this.localStorage.store('oldroute', 'companyapp')
this.router.navigate(['/guide',company.user._id]);
}
在引导组件中,
goToCompany() {
if(this.localStorage.retrieve('oldroute') && (this.localStorage.retrieve('oldroute') == 'companyApp'))
{
this.router.navigate(['/companyApp']);
}else{
this.router.navigate(['/company']);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句