2016-04-17 13 views
1

Angular2 Betaで再生するテストアプリを作成しました。私は親ルートから子供にリンクしようとしています。Angular2 Beta Child Routerエラー:リンク「["NAME"] "は端末命令に解決されません。

子リンクを設定に追加しようとするたびに、「例外:リンク」["/ Settings"] "がAppComponentの[['/ Settings']内の端末命令に解決されません@ 8:10] "

親ルートが正常に動作します。子ルートになると、エラーが発生します。ここまで私がこれまで持っていたことがあります。あなたは、SettingsComponentのために3個のドットをpath: '/settings/...'ルートパスを宣言した

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 {} 

main.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 }) 
]); 

答えて

1

最後にこのルートを非終端にします。 /settingsに移動するには、子供のパス(例:/settings/info)を入力する必要があります。

+0

ok。私は点を削除し、私はこのエラーがあります。例外:ルータのインスタンス化中のエラー! (RouterLink - > Router)。およびEXCEPTION:Routerのインスタンス化中のエラー! (RouterLink - > Router)。 – LadyT

+0

おそらく私は十分にはっきりしていなかったので、ドットを削除しないでください: '

  • Settings
  • ' – kemsky

    +0

    ドットを付け加えて、私のファイルに渡した行を追加しましたが、 "EXCEPTION:ルーターの!(RouterLink - >ルーター)。 " – LadyT

    関連する問題