Angular2 测试版子路由器错误:NAME "]" "[" 的链接无法解析为终端指令



我创建了一个测试应用程序来玩Angular2 Beta。我正在尝试从父路由链接到子路由。

每次我尝试将子链接添加到设置时,它都会抛出以下错误"异常:链接"["/settings"]"未解析为终端指令AppComponent@8:10]"

父路由运行良好。当涉及到子路由时,它会出现错误。这是我迄今为止所拥有的。

app.component.ts

import {Component} from 'angular2/core';
import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS} from   'angular2/router';
import {appsComponent} from './apps.component';
import {HomeComponent} from './Home.Component';
import {GPSComponent} from './GPS.component';
import {SettingsComponent} from './Settings.component';
@Component({
selector: 'my-app',
directives: [ROUTER_DIRECTIVES],
template: `
<div class="container">
<div class="row">
<div class="col-md-12">
    <ul class="nav nav-pills">
        <li><a [routerLink]="['/Home']">Home</a></li>
        <li><a [routerLink]="['/Apps']">Apps</a></li>
        <li><a [routerLink]="['/GPS']">GPS</a></li>
        <li><a [routerLink]="['/Settings']">Settings</a></li>
    </ul>
 </div>
</div>
</div>
<router-outlet></router-outlet>
`
})
@RouteConfig([
    { path: '/', component: HomeComponent, as: 'Home' },
    { path: '/apps', component: appsComponent, as: 'Apps'},
    { path: '/gps', component: GPSComponent, as: 'GPS' },
    { path: '/settings/...', component: SettingsComponent, as:'Settings' }
])
export class AppComponent {}

Settings.component.ts

import {Component} from 'angular2/core';
import {Router} from 'angular2/router';
import {UIComponent} from './UI.component';
import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS, RouterOutlet}  from 'angular2/router';
@Component({
  selector: 'settings',
  directives: [ROUTER_DIRECTIVES],
  template: `<h1>Settings Page</h1>
     <ul class="nav nav-stacked">
        <li><a [routerLink]="['/settings','/UI']">Desktop UI</a></li>
      </ul>
     <router-outlet></router-outlet>
`
})
@RouteConfig([
    { path: '/ui', component: UIComponent, as: 'UI'}
 ])
export class SettingsComponent {}

主.ts

import {bootstrap}    from 'angular2/platform/browser';
import {AppComponent} from './app.component';
import {SettingsComponent} from './Settings.component';
import {ROUTER_PROVIDERS} from 'angular2/router';
import {provide} from 'angular2/core';
import {APP_BASE_HREF} from 'angular2/router';
import {LocationStrategy, Location, HashLocationStrategy } from 'angular2/router';
bootstrap(AppComponent, [
ROUTER_PROVIDERS,
provide(APP_BASE_HREF, { useValue: '/' }),
provide(LocationStrategy, { useClass: HashLocationStrategy })
]);

您已经为SettingsComponent声明了path: '/settings/...'路由路径,末尾的三个点使该路由成为非终端。这意味着您无法导航到/settings,必须提供子路径,即:/settings/info