angular-cn/public/docs/js/latest/api/router/CanActivate-var.jade

32 lines
1.0 KiB
Plaintext

.l-main-section
h2 CanActivate <span class="type">variable</span>
p.location-badge.
exported from <a href='../router'>angular2/router</a>
defined in <a href="https://github.com/angular/angular/tree/2.0.0-alpha.34/modules/angular2/src/router/lifecycle_annotations.ts#L41-L43">angular2/src/router/lifecycle_annotations.ts (line 41)</a>
:markdown
Defines route lifecycle method [canActivate], which is called by the router to determine
if a component can be instantiated as part of a navigation.
Note that unlike other lifecycle hooks, this one uses an annotation rather than an interface.
This is because [canActivate] is called before the component is instantiated.
If `canActivate` returns or resolves to `false`, the navigation is cancelled.
If `canActivate` throws or rejects, the navigation is also cancelled.
## Example
```
@Directive({
selector: 'control-panel-cmp'
})
@CanActivate(() => checkIfUserIsLoggedIn())
class ControlPanelCmp {
// ...
}
```