角度2 - 后备路线不起作用

时间:2017-03-16 16:56:38

标签: javascript angular typescript webpack angular2-routing

我有一个使用此Angular 2 Webpack Starter构建的Angular2项目,但我无法让后备路由正常工作。在我的app.routes.ts我有:

import { Routes } from '@angular/router';
import { HomeComponent } from './home';
import { DataResolver } from './app.resolver';

export const ROUTES: Routes = [
  {
     path: '',
     component: HomeComponent
  },
  {
     path: 'getstarted', loadChildren: './getstarted#GetStartedModule'
  },

  ...
  {
     path: 'notfound', loadChildren: './notfound#NotFoundModule'
  },
  {
     path: '**', loadChildren: './notfound#NotFoundModule'
  },
];

上面的not found路径正常工作但后备路由(**)无法正常工作。而不是显示NotFoundModule它根本不加载模块,我没有错误。但是,当我这样做时,它会正确重定向:

  ...
  {
     path: 'notfound', loadChildren: './notfound#NotFoundModule'
  },
  {
    path: '**', redirectTo:'/notfound', pathMatch: 'full'
  },
];

我不想重定向,因为我不想通过重定向将网址更改为/notfound。如何使我的顶级版本工作或我还能做些什么来使这项工作?

1 个答案:

答案 0 :(得分:2)

所以,我只是尝试过,似乎你不能使用懒惰的路线来设置你的后备页面。这应该有效:

export const ROUTES: Routes = [
  {
     path: '',
     component: HomeComponent
  },
  {
     path: 'getstarted', loadChildren: './getstarted#GetStartedModule'
  },

  ...
  {
     path: 'notfound', loadChildren: './notfound#NotFoundModule'
  },
  {
     path: '**', component : NotFoundComponent
  },
];