@angular/router 中的通配符参数

wildcard parameters in @angular/router

我正在使用@angular/router@版本2.0.0-rc.1

我似乎无法让通配符参数起作用,而且从阅读代码来看似乎没有支持。

您可以在 app.ts

中这样做
import {Home} from './Home';

...

@RouteConfig([
  { path: '/home', component: Home, name: 'Home' },
  { path: '/**', redirectTo: ['Home'] }
])

在这个例子中,我们只设置了一条真实的路由,那就是/home路由。我们还指示应用程序将任何对无法识别的路由的请求重定向到 Home 组件。每个 RouteDefinition 都需要一个路径、一个名称,以及一个组件、加载器或 redirectTo。

使用 Angular 2.0.0(最终版本)和新路由器,您通常可以使用通配符,现在使用的路径不带斜杠。

注意:
路线的顺序很重要:它应该从最具体到最不具体。所以对于下面这个简单的例子,路线'**'(匹配任何东西)应该放在最后,所以所有其他可能的路线都会被前面的路线覆盖。

const routes: Routes = [
 {   
 { path: 'login', component: LoginComponent },
 { path: 'register', component: RegisterComponent },
 { path: '**', component: LoginComponent },
];