32 lines
1.0 KiB
Plaintext
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 {
|
|
// ...
|
|
}
|
|
```
|
|
|
|
|
|
|