Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用无组件的防护罩_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 如何使用无组件的防护罩

Javascript 如何使用无组件的防护罩,javascript,angular,typescript,Javascript,Angular,Typescript,我的目标是:当点击“auth/login/:tokenKey”链接时,将触发一个方法,然后重定向a或B组件。对于此链接“auth/login/:tokenKey”,不需要组件。它应该只是ts文件中的一个方法 怎么做 GetTokenKeyGuard.ts 我不需要为“auth/login/:tokenKey”路径使用组件。在该路径中,将运行一个进程,然后将其重定向到索引页 但当我使用“redirectTo”指令时,这个保护就不起作用了 当我和组件一起使用时,防护装置工作 如何使用无组件的防护装置

我的目标是:当点击“auth/login/:tokenKey”链接时,将触发一个方法,然后重定向a或B组件。对于此链接“auth/login/:tokenKey”,不需要组件。它应该只是ts文件中的一个方法

怎么做

GetTokenKeyGuard.ts 我不需要为“auth/login/:tokenKey”路径使用组件。在该路径中,将运行一个进程,然后将其重定向到索引页

但当我使用“redirectTo”指令时,这个保护就不起作用了

当我和组件一起使用时,防护装置工作

如何使用无组件的防护装置

app-routing.module.ts
您可以使用下面的路径

常数路由:路由=[ {路径:,组件:IndexComponent}, {path:'auth/login',component:LoginComponent}, {path:'auth/login/:tokenKey', 激活:[GetTokenKeyGuard], 儿童:[] ];
如果登录失败,您想重定向到哪里?实际上,我想在点击“auth/login/:tokenKey”时运行一个方法,然后重定向到该方法中的某个组件或B组件。。。。不需要此链接的组件“auth/login/:tokenKey”。。。。Post updated.children:[]起作用:
 canActivate(route: ActivatedRouteSnapshot) {

    localStorage.setItem('token_key', route.params.tokenKey);

    return true;
  }
const routes: Routes = [
  { path: '', component: IndexComponent },
  { path: 'auth/login', component: LoginComponent },

  { path: 'auth/login/:tokenKey',
    canActivate: [GetTokenKeyGuard],
    redirectTo: '' }, //........................ Guard doesnt work.

  { path: 'auth/login/:tokenKey',
    canActivate: [GetTokenKeyGuard],
    component: LoginComponent }, //............. Guard works.
];