2016-07-22 13 views
0

角度2のコンポーネントルータを使用しようとしています。角度2のアプリケーションには、既存の角度1のアプリケーションをブートストラップしています。ここに私のコードは次のとおりです。オリジナル例外:ルータのプロバイダがありません

main.ts

import { upgradeAdapter } from './upgrade-adapter'; 
import { ResAppComponent } from './resApp.component'; 
import { appRouterProviders } from './app.routes'; 

angular.module('utdApp').directive('appComponent', upgradeAdapter.downgradeNg2Component(ResAppComponent)); 

upgradeAdapter.bootstrap(document.body,['utdApp'],ResAppComponent,[appRouterProviders]); 

resApp.component.ts

import { Component } from '@angular/core'; 
import { DisclosureComponent } from './disclosure.component'; 
import {ROUTER_DIRECTIVES} from '@angular/router' 

@Component({ 
selector: 'app-component', 
template: ` 
<h1>My angular app</h1> 
<nav> 
<my-app-new></my-app-new> 
<a routerLink="/route1" routerLinkActive="active">Route</a> 

<router-outlet></router-outlet> 
</nav> 
`, 
directives: [ROUTER_DIRECTIVES], 
providers:[DisclosureComponent] 

}) 

export class ResAppComponent{} 

app.routes.ts

import { provideRouter, RouterConfig } from '@angular/router'; 
import { DisclosureComponent } from './disclosure.component'; 

const routes:RouterConfig = [ 

{ 
    path: 'route1', 
    component: DisclosureComponent, 
} 
]; 


export const appRouterProviders = [ 
provideRouter(routes) 
]; 

disclosure.component.ts

import { Component } from '@angular/core'; 
import { ROUTER_DIRECTIVES, provideRouter } from '@angular/router'; 


@Component({ 
selector:'my-app-new', 
template:`<h1>{{title}}</h1>`, 
directives:[ROUTER_DIRECTIVES], 

providers:[provideRouter] 

}) 

export class DisclosureComponent 
{ 
title="Success" 

} 
私が間違っているものを見つけるように見えるカント enter image description here

:0

私のエラーのようなものです。 angular2のコンポーネントルーターに関する情報はありません。

答えて

0

新しいルータは、ルートコンポーネントの代わりにbootstrap(AppComponent, [appRouterProviders])で提供する必要があります。

providers:[provideRouter] 

は、同じエラーが続くDisclosureElement

+0

@Component()から削除する必要があります。私もそれを試みました。 –

+0

私が覚えている限り、新しいルータとupgradeAdapterには未解決の問題があります。 Angular2 GitHubレポの問題を確認してください。 –

+1

あなたは正しいです。これは現在進行中の問題です。私はそこにそれを追いかけます。ありがとうございました。私はこれが動作するようになると応答を投稿します。 –

関連する問題