@@ -18,6 +18,13 @@ import {ActivatedRouteSnapshot, RouterStateSnapshot} from './router_state';
1818 * ### Example
1919 *
2020 * ```
21+ * class UserToken {}
22+ * class Permissions {
23+ * canActivate(user: UserToken, id: string): boolean {
24+ * return true;
25+ * }
26+ * }
27+ *
2128 * @Injectable ()
2229 * class CanActivateTeam implements CanActivate {
2330 * constructor(private permissions: Permissions, private currentUser: UserToken) {}
@@ -40,8 +47,9 @@ import {ActivatedRouteSnapshot, RouterStateSnapshot} from './router_state';
4047 * }
4148 * ])
4249 * ],
43- * providers: [CanActivateTeam]
50+ * providers: [CanActivateTeam, UserToken, Permissions ]
4451 * })
52+ * class AppModule {}
4553 * ```
4654 *
4755 * You can also provide a function with the same signature instead of the class:
@@ -64,6 +72,7 @@ import {ActivatedRouteSnapshot, RouterStateSnapshot} from './router_state';
6472 * }
6573 * ]
6674 * })
75+ * class AppModule {}
6776 * ```
6877 *
6978 * @stable
@@ -79,6 +88,13 @@ export interface CanActivate {
7988 * ### Example
8089 *
8190 * ```
91+ * class UserToken {}
92+ * class Permissions {
93+ * canActivate(user: UserToken, id: string): boolean {
94+ * return true;
95+ * }
96+ * }
97+ *
8298 * @Injectable ()
8399 * class CanActivateTeam implements CanActivate {
84100 * constructor(private permissions: Permissions, private currentUser: UserToken) {}
@@ -106,8 +122,9 @@ export interface CanActivate {
106122 * }
107123 * ])
108124 * ],
109- * providers: [CanActivateTeam]
125+ * providers: [CanActivateTeam, UserToken, Permissions ]
110126 * })
127+ * class AppModule {}
111128 * ```
112129 *
113130 * You can also provide a function with the same signature instead of the class:
@@ -135,6 +152,7 @@ export interface CanActivate {
135152 * }
136153 * ]
137154 * })
155+ * class AppModule {}
138156 * ```
139157 *
140158 * @stable
@@ -151,6 +169,13 @@ export interface CanActivateChild {
151169 * ### Example
152170 *
153171 * ```
172+ * class UserToken {}
173+ * class Permissions {
174+ * canDeactivate(user: UserToken, id: string): boolean {
175+ * return true;
176+ * }
177+ * }
178+ *
154179 * @Injectable ()
155180 * class CanDeactivateTeam implements CanDeactivate<TeamComponent> {
156181 * constructor(private permissions: Permissions, private currentUser: UserToken) {}
@@ -174,8 +199,9 @@ export interface CanActivateChild {
174199 * }
175200 * ])
176201 * ],
177- * providers: [CanDeactivateTeam]
202+ * providers: [CanDeactivateTeam, UserToken, Permissions ]
178203 * })
204+ * class AppModule {}
179205 * ```
180206 *
181207 * You can also provide a function with the same signature instead of the class:
@@ -198,6 +224,7 @@ export interface CanActivateChild {
198224 * }
199225 * ]
200226 * })
227+ * class AppModule {}
201228 * ```
202229 *
203230 * @stable
@@ -213,6 +240,12 @@ export interface CanDeactivate<T> {
213240 * ### Example
214241 *
215242 * ```
243+ * class Backend {
244+ * fetchTeam(id: string) {
245+ * return 'someTeam';
246+ * }
247+ * }
248+ *
216249 * @Injectable ()
217250 * class TeamResolver implements Resolve<Team> {
218251 * constructor(private backend: Backend) {}
@@ -239,6 +272,7 @@ export interface CanDeactivate<T> {
239272 * ],
240273 * providers: [TeamResolver]
241274 * })
275+ * class AppModule {}
242276 * ```
243277 *
244278 * You can also provide a function with the same signature instead of the class.
@@ -263,6 +297,7 @@ export interface CanDeactivate<T> {
263297 * }
264298 * ]
265299 * })
300+ * class AppModule {}
266301 * ```
267302 * @stable
268303 */
@@ -278,6 +313,13 @@ export interface Resolve<T> {
278313 * ### Example
279314 *
280315 * ```
316+ * class UserToken {}
317+ * class Permissions {
318+ * canLoadChildren(user: UserToken, id: string): boolean {
319+ * return true;
320+ * }
321+ * }
322+ *
281323 * @Injectable ()
282324 * class CanLoadTeamSection implements CanLoad {
283325 * constructor(private permissions: Permissions, private currentUser: UserToken) {}
@@ -300,8 +342,9 @@ export interface Resolve<T> {
300342 * }
301343 * ])
302344 * ],
303- * providers: [CanLoadTeamSection]
345+ * providers: [CanLoadTeamSection, UserToken, Permissions ]
304346 * })
347+ * class AppModule {}
305348 * ```
306349 *
307350 * You can also provide a function with the same signature instead of the class:
@@ -325,6 +368,7 @@ export interface Resolve<T> {
325368 * }
326369 * ]
327370 * })
371+ * class AppModule {}
328372 * ```
329373 *
330374 * @stable
0 commit comments