Sim*_*mon 6 ionic-framework angular angular-router ionic4
我的应用程序上有一个注册流程。在每个步骤中,我不希望用户能够转到上一页,但是,ionic 使这些页面保持“活动”状态,并且用户可以通过从左向右滑动或使用后退按钮返回他们的电话。
我使用 ionic 的路由系统转换每个用户:
 this.router.navigateByUrl('/invite');
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
 this.router.navigate(['/invite']);
Run Code Online (Sandbox Code Playgroud)
和:
 this.router.navigateByUrl('/invite', { skipLocationChange: true });
Run Code Online (Sandbox Code Playgroud)
目前它给我带来了很多问题,我已经做了很多谷歌搜索,但找不到任何解决方案。
有没有办法使用 ionic 的路由器系统来销毁页面或禁止某些页面上的向后导航?任何建议都会很棒。谢谢。
小智 10
您可能已经解决了这个问题,但是您也可以使用以下方法:
this.router.navigateByUrl('/invite',{
 replaceUrl : true
});
Run Code Online (Sandbox Code Playgroud)
        您可以使用route-guard
这是一个很好的例子,看看它
https://alligator.io/angular/route-guards/
在你的routing module添加中
const myRoutes: Routes = [
  { path: '', component: yourHomeComponent },
  { path: 'dashboard',
    component: anyComponentComponent,
    canActivate: [CanActivateRouteGuard]
  }
];
Run Code Online (Sandbox Code Playgroud)
让你的简单路线变得简单
import { Injectable } from '@angular/core';
import { CanActivate,
         ActivatedRouteSnapshot,
         RouterStateSnapshot } from '@angular/router';
import { MyAuthService } from './auth.service';
@Injectable()
export class _CanActivateRouteGuard implements CanActivate {
  constructor(private auth: MyAuthService) {}
  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
      return this.auth.isUserAuthenticated();
  }
}
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           9823 次  |  
        
|   最近记录:  |