35 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import {TEMPLATE_TRANSFORMS} from 'angular2/compiler';
 | |
| import {Provider} from 'angular2/core';
 | |
| import {RouterLinkTransform} from 'angular2/src/router/router_link_transform';
 | |
| import {CONST_EXPR} from 'angular2/src/facade/lang';
 | |
| 
 | |
| export {RouterLinkTransform} from 'angular2/src/router/router_link_transform';
 | |
| 
 | |
| /**
 | |
|  * Enables the router link DSL.
 | |
|  *
 | |
|  * Warning. This feature is experimental and can change.
 | |
|  *
 | |
|  * To enable the transformer pass the router link DSL provider to `bootstrap`.
 | |
|  *
 | |
|  * ## Example:
 | |
|  * ```
 | |
|  * import {bootstrap} from 'angular2/platform/browser';
 | |
|  * import {ROUTER_LINK_DSL_PROVIDER} from 'angular2/router/router_link_dsl';
 | |
|  *
 | |
|  * bootstrap(CustomApp, [ROUTER_LINK_DSL_PROVIDER]);
 | |
|  * ```
 | |
|  *
 | |
|  * The DSL allows you to express router links as follows:
 | |
|  * ```
 | |
|  * <a [routerLink]="route:User"> <!-- Same as <a [routerLink]="['User']"> -->
 | |
|  * <a [routerLink]="route:/User"> <!-- Same as <a [routerLink]="['User']"> -->
 | |
|  * <a [routerLink]="route:./User"> <!-- Same as <a [routerLink]="['./User']"> -->
 | |
|  * <a [routerLink]="./User(id: value, name: 'Bob')"> <!-- Same as <a [routerLink]="['./User', {id:
 | |
|  * value, name: 'Bob'}]"> -->
 | |
|  * <a [routerLink]="/User/Modal"> <!-- Same as <a [routerLink]="['/User', 'Modal']"> -->
 | |
|  * <a [routerLink]="User[Modal]"> <!-- Same as <a [routerLink]="['User', ['Modal']]"> -->
 | |
|  * ```
 | |
|  */
 | |
| const ROUTER_LINK_DSL_PROVIDER =
 | |
|     CONST_EXPR(new Provider(TEMPLATE_TRANSFORMS, {useClass: RouterLinkTransform, multi: true})); |