diff --git a/nativescript-angular/router.ts b/nativescript-angular/router.ts index 93363fb45..1b85e0ddf 100644 --- a/nativescript-angular/router.ts +++ b/nativescript-angular/router.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, NO_ERRORS_SCHEMA, NgModuleFactoryLoader } from "@angular/core"; +import { NgModule, ModuleWithProviders, NO_ERRORS_SCHEMA } from "@angular/core"; import { RouterModule, Routes, ExtraOptions } from "@angular/router"; import { LocationStrategy, PlatformLocation } from "@angular/common"; import { NSRouterLink } from "./router/ns-router-link"; @@ -8,7 +8,7 @@ import { NSLocationStrategy, LocationState } from "./router/ns-location-strategy import { NativescriptPlatformLocation } from "./router/ns-platform-location"; import { RouterExtensions } from "./router/router-extensions"; import { NativeScriptModule } from "./nativescript.module"; -import { NsModuleFactoryLoader } from "./router/ns-module-factory-loader"; +export { NSModuleFactoryLoader } from "./router/ns-module-factory-loader"; export { PageRoute } from "./router/page-router-outlet"; export { RouterExtensions } from "./router/router-extensions"; @@ -42,14 +42,7 @@ export type LocationState = LocationState; }) export class NativeScriptRouterModule { static forRoot(routes: Routes, config?: ExtraOptions): ModuleWithProviders { - let moduleWithProviders = RouterModule.forRoot(routes, config); - - // Override the stock SystemJsNgModuleLoader - moduleWithProviders.providers.push( - { provide: NgModuleFactoryLoader, useClass: NsModuleFactoryLoader }, - ); - - return moduleWithProviders; + return RouterModule.forRoot(routes, config); } static forChild(routes: Routes): ModuleWithProviders { diff --git a/nativescript-angular/router/ns-module-factory-loader.ts b/nativescript-angular/router/ns-module-factory-loader.ts index 17fa0d97d..b4650141a 100644 --- a/nativescript-angular/router/ns-module-factory-loader.ts +++ b/nativescript-angular/router/ns-module-factory-loader.ts @@ -13,7 +13,7 @@ const FACTORY_CLASS_SUFFIX = "NgFactory"; const FACTORY_PATH_SUFFIX = ".ngfactory"; @Injectable() -export class NsModuleFactoryLoader implements NgModuleFactoryLoader { +export class NSModuleFactoryLoader implements NgModuleFactoryLoader { private offlineMode: boolean; constructor(private compiler: Compiler) { diff --git a/ng-sample/app/app.ts b/ng-sample/app/app.ts index 9ebba8f55..1bf129fe7 100644 --- a/ng-sample/app/app.ts +++ b/ng-sample/app/app.ts @@ -6,17 +6,17 @@ //profiling.start("application-start"); // "nativescript-angular/application" import should be first in order to load some required settings (like globals and reflect-metadata) -import { - NativeScriptModule, - platformNativeScriptDynamic, - NativeScriptRouterModule, +import { + NativeScriptModule, + platformNativeScriptDynamic, + NativeScriptRouterModule, NativeScriptFormsModule, NativeScriptHttpModule, - routerTraceCategory, + routerTraceCategory, rendererTraceCategory, listViewTraceCategory, - PAGE_FACTORY, - PageFactory, + PAGE_FACTORY, + PageFactory, PageFactoryOptions, onAfterLivesync, onBeforeLivesync diff --git a/tests/app/main.ts b/tests/app/main.ts index 06cba2489..2eee7ad8f 100644 --- a/tests/app/main.ts +++ b/tests/app/main.ts @@ -5,6 +5,7 @@ import { routerTraceCategory, NativeScriptRouterModule, NativeScriptFormsModule, + NSModuleFactoryLoader, APP_ROOT_VIEW } from "nativescript-angular"; import { AppComponent } from "./app.component"; @@ -23,7 +24,7 @@ import { SinglePageMain, routes as singlePageRoutes } from "./single-page-main.c import { LazyLoadMain, routes as lazyLoadRoutes } from "./lazy-load-main"; import { FirstComponent } from "./first.component"; import { SecondComponent } from "./second.component"; -import { OpaqueToken, NgModule } from "@angular/core"; +import { OpaqueToken, NgModule, NgModuleFactoryLoader } from "@angular/core"; import { PageNavigationApp } from "./snippets/navigation/page-outlet"; import { NavigationApp } from "./snippets/navigation/router-outlet"; @@ -137,6 +138,7 @@ class MultiPageModule { } providers: [ rootViewProvider, lazyLoadHooksLogProvider, + { provide: NgModuleFactoryLoader, useClass: NSModuleFactoryLoader }, ] }) class LazyLoadModule { }