31 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | // #docregion
 | ||
|  | import { NgModule } from '@angular/core'; | ||
|  | import { Routes, RouterModule, UrlHandlingStrategy, UrlTree } from '@angular/router'; | ||
|  | import { APP_BASE_HREF, HashLocationStrategy, LocationStrategy } from '@angular/common'; | ||
|  | 
 | ||
|  | import { PhoneListComponent }   from './phone-list/phone-list.component'; | ||
|  | 
 | ||
|  | export class Ng1Ng2UrlHandlingStrategy implements UrlHandlingStrategy { | ||
|  |   shouldProcessUrl(url: UrlTree) { | ||
|  |     return url.toString() === '/' || url.toString() === '/phones'; | ||
|  |   } | ||
|  |   extract(url: UrlTree) { return url; } | ||
|  |   merge(url: UrlTree, whole: UrlTree) { return url; } | ||
|  | } | ||
|  | 
 | ||
|  | const routes: Routes = [ | ||
|  |   { path: '', redirectTo: 'phones', pathMatch: 'full' }, | ||
|  |   { path: 'phones', component: PhoneListComponent } | ||
|  | ]; | ||
|  | 
 | ||
|  | @NgModule({ | ||
|  |   imports: [ RouterModule.forRoot(routes) ], | ||
|  |   exports: [ RouterModule ], | ||
|  |   providers: [ | ||
|  |     { provide: APP_BASE_HREF, useValue: '!' }, | ||
|  |     { provide: LocationStrategy, useClass: HashLocationStrategy }, | ||
|  |     { provide: UrlHandlingStrategy, useClass: Ng1Ng2UrlHandlingStrategy } | ||
|  |   ] | ||
|  | }) | ||
|  | export class AppRoutingModule { } |