我从rc4切换到rc5并将bootstrap切换到模块,main.ts:
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 {
}
现在,当我加载应用程序时,会产生错误:
原件例外:没有路由器的提供商!
没有ngModule的main.ts,旧的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 :(得分:0)
我不知道是否可以使用Router-deprecated with 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文件是空的,因为我的路由逻辑位于带有LoginModule的login.routes.ts中,所以这是正常的。