import {APP_BASE_HREF} from '@angular/common'; import {Component, ComponentRef} from '@angular/core'; import {bootstrap} from '@angular/platform-browser-dynamic'; import {CanActivate, ComponentInstruction, ROUTER_DIRECTIVES, RouteConfig} from '@angular/router-deprecated'; function checkIfWeHavePermission(instruction: ComponentInstruction) { return instruction.params['id'] == '1'; } // #docregion canActivate @Component({selector: 'control-panel-cmp', template: `
Settings: ...
`}) @CanActivate(checkIfWeHavePermission) class ControlPanelCmp { } // #enddocregion @Component({ selector: 'home-cmp', template: `

Welcome Home!

Edit User 1 | Edit User 2
`, directives: [ROUTER_DIRECTIVES] }) class HomeCmp { } @Component({ selector: 'example-app', template: `

My App

`, directives: [ROUTER_DIRECTIVES] }) @RouteConfig([ {path: '/user-settings/:id', component: ControlPanelCmp, name: 'ControlPanelCmp'}, {path: '/', component: HomeCmp, name: 'HomeCmp'} ]) export class AppCmp { } export function main(): Promise> { return bootstrap( AppCmp, [{provide: APP_BASE_HREF, useValue: '/@angular/examples/router/ts/can_activate'}]); }