每次我在共享文件夹中生成内容时,都会重建index.ts文件,并按字母顺序放置导出.这似乎打破了我的依赖.手动更改顺序,以便在具有依赖项的类之前导出依赖项使其再次起作用.
如果我们有app/shared/auth.guard.ts:
import { Injectable } from '@angular/core';
import { CanActivate, Router, ActivatedRouteSnapshot } from '@angular/router';
import { Observable } from 'rxjs/Observable';
import { AuthService, User } from './';
@Injectable()
export class AuthGuard implements CanActivate {
constructor(private accountService: AuthService, private router: Router) { }
canActivate(next: ActivatedRouteSnapshot): Observable<boolean> {
let result = this.accountService.currentUser.first().map(user => user != null);
let route: any[] = ['/login'];
if (next.url.length) {
route.push({ redirectUrl: next.url });
}
result.subscribe(isLoggedIn => {
if (!isLoggedIn) {
this.router.navigate(route);
}
}); …Run Code Online (Sandbox Code Playgroud)