2016-08-25 29 views
0

我從RC4切換到RC5並引導到一個模塊,main.ts:Angular2:如何使用路由器棄用ngModule

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 

import { PortmanModule } from './portman.module'; 

platformBrowserDynamic().bootstrapModule(PortmanModule); 

portman.module:

import {NgModule} from "@angular/core"; 
import {BrowserModule} from "@angular/platform-browser"; 
import {FormsModule} from "@angular/forms"; 
import {RootComponent} from "./root.component"; 

@NgModule({ 
    imports: [ 
     BrowserModule, 
     FormsModule 
    ], 
    declarations: [RootComponent], 
    bootstrap: [RootComponent] 
}) 
export class PortmanModule { 
} 

現在,當我載入我的應用程序則產生了一個錯誤:

原始異常:無提供商路由器!

main.ts沒有ngModule,老RC4語法的工作原理:

import {bootstrap} from '@angular/platform-browser-dynamic'; 
import { disableDeprecatedForms, provideForms } from '@angular/forms'; 
import {RootComponent} from './root.component' 
import {ROUTER_PROVIDERS} from "@angular/router-deprecated"; 

bootstrap (RootComponent,[ 
    ROUTER_PROVIDERS, 
    disableDeprecatedForms(), 
    provideForms() 
]).catch((err: any) => console.error(err)); 

如何提供路由器?

回答

0

我不知道是否有可能使用路由器,棄用NgModule,但在任何情況下,你需要輸入路由器的引用您的@NgModule進口這樣的:

app.modules。 TS

... 
import { appRouting } from './app.routes'; 

@NgModule({ 
    imports: [ 
     BrowserModule, 
     FormsModule, 
     HttpModule, 
     appRouting, // Routing logic 
     LoginModule // Another module 
    ], 
    ... 
}) 
export class AppModule { } 

app.routes.ts

const appRoutes: Routes = [ 

]; 

export const appRouting = RouterModule.forRoot(appRoutes); 

我最好的猜測是,他們還更新路由器棄用與NgModule可以使用,但你應該檢查出的路由器過時文檔。 另外,我app.routes.ts文件是空的,因爲我的路由邏輯位於與登錄模塊的login.routes.ts,所以這是正常的。

+0

請不要忘記讓我們知道您的問題是否已解決:) –

+1

我不知道,我切換到新的路由器 – user3725805

+0

這將是最好的事情,因爲事情會發展得更多。 –