当我输入错误的网址时,我想重定向上一个网址(404)!因此,我必须在“RedirectTo”提交的
中提供前一页网址App.module.ts
const appRoutes: Routes = [
{path: 'Sk', canActivate: [AuthGuard], children: [ { path: 'announce',
component: AnnounceComponent },{ path: '**', redirectTo: ?, pathMatch: 'full' }]},{ path: '**',component: AppComponent}];
答案 0 :(得分:1)
首先将路径导入到要更改redirectTo的组件。 然后,您可以访问组件中的路径并更改redirectTo值。
app.routing.ts:
export let routes: Routes = [
{ path: '', redirectTo: 'pages', pathMatch: 'full' },
{ path: 'pages', loadChildren: 'app/pages/pages.module#PagesModule' },
{ path: 'login', loadChildren: 'app/pages/login/login.module#LoginModule' },
{ path: '**', component: ErrorComponent }
];
exampleComponent.ts:
// importing routes
import { routes } from '../app.routing';
// i'm changing it in ngOnInit for example.
ngOnInit() {
routes[0].redirectTo = 'login';
}
如果输入的网址错误,则重定向到上一页:
创建一个新组件,比如errorComponent。每当url出错时,我们都会使用此组件。所以在您的路线中执行以下操作
export let routes:Routes = [ {path:'**',component:ErrorComponent} ];
在errorComponent中,我们将写回到上一页的逻辑。
从'@ angular / common'导入{Location};
ngOnInit(){
this.location.back(); }