2016-07-05 5 views
3

おはようございます。私はprimengの​​チュートリアルのような簡単なタブメニューを作成したいだけです。しかし、私は "ルータのためのプロバイダはありません!"例外。 tabmenuと この私たちコンポーネント:p-tabMenu throw "ルータのプロバイダがありません!"例外

<div class="ui-g"> 
    <h1>Heeey!</h1> 
    <p-tabMenu ([ngModel])="menuItems"></p-tabMenu> 
</div> 


@Component({ 
    selector: 'test', 
    templateUrl: './Views/test.html', 
    directives: [ROUTER_DIRECTIVES, DataScroller, DataGrid, Panel, TabMenu], 
    styleUrls: ['../../Styles/EntranceStyle.css'], 
    providers: [Http, HTTP_PROVIDERS] 
}) 

export class TestComponent implements OnInit { 
    public _tests: TestModel[] = new Array<TestModel>(); 
    public products: TestModel[] = new Array<TestModel>(); 

    private menuItems: MenuItem[]; 

    ngOnInit() { 

     this.menuItems = [ 
      { label: 'Coffee'}, 
      { label: 'Sweets'}, 
      { label: 'Salads'}, 
     ]; 
    } 
} 

私はROUTER_PROVIDERSブートで宣言:最新primengにアップデートする必要がありbootstrap(AppComponent, [ROUTER_PROVIDERS, HTTP_PROVIDERS, AUTH_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy})]);

+0

どのバージョンのAngular2を使用しますか?最新のバージョンではルーティングに関するいくつかの変更がありました... –

+0

@ThierryTemplierのバージョンは2.0.0-rc.1です。 – Amelina

答えて

3

ファーストを(両方のプロジェクトはまだ開発中であり、ルータが最近変更され、強化されています)対応する対応バージョンは日付のバージョンangular2です。これは、primeng-beta9angular2-rc3(7月/ 2016)を意味します。

はその後、あなたはファイルapp.routes.tsで、RouterConfigを作成する必要があります。その後、

export const routes: RouterConfig = [ 
    {path: '/', component: MyComponent} 
] 

export const APP_ROUTER_PROVIDERS = [ 
    provideRouter(routes) 
]; 

そしてboot.tsに追加する:あなたは、ルータのディレクティブを指定する必要がAppComponent

bootstrap(AppComponent, [ 
    APP_ROUTER_PROVIDERS, 
    disableDeprecatedForms(), 
    provideForms(), 
    provide(LocationStrategy, {useClass: HashLocationStrategy}) 
]); 

@Component({ 
    selector: 'my-selector', 
    templateUrl: 'my.html', 
    directives: [ROUTER_DIRECTIVES] 
}) 
export class AppComponent { 
//... blahblahblah 
} 

<base href="/">を追加することを忘れないでください。

ソース:https://angular.io/docs/ts/latest/guide/router.html

+0

良い答え!一つは、 ""を追加するか、 "(APP_BASE_HREF、{useValue: '/'})"をブートストラップに追加することができます。 また、ライブラリの更新に注意し、ドキュメントを読み、プロジェクトが壊れていないかどうかを確認してください。 私はここにデモhttp://plnkr.co/edit/zQ43rV?p=preview :)を残します –

関連する問題