지금부터 며칠 동안 인증 감시를 구현하려고했지만 아직 내 canActivate
기능을 실행할 수 없습니다. 내 인증 가드 (이 분명히 실제로 지키는되지 아무것도) 다음과 같습니다 가드를 가져오고 라우터가 보이는 구현로그인 가드가있는 각도 2 라우터
import { Injectable } from 'angular2/core';
import { Observable } from "rxjs/Rx";
@Injectable()
export class LoggedInGuard implements CanActivate {
constructor() {}
canActivate():Observable<boolean>|boolean {
console.log('AuthGuard#canActivate called');
return true;
}
}
그리고 내 응용 프로그램 구성 요소와 같은 :
import { Component } from 'angular2/core';
import { HTTP_PROVIDERS } from 'angular2/http';
import { RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from 'angular2/router';
import 'rxjs/Rx'; // load the full rxjs
import { CharacterListComponent } from './characters/character-list.component';
import { VehicleListComponent } from './vehicles/vehicle-list.component';
import { LoggedInGuard } from './login.guard.ts'
@Component({
selector: 'story-app',
templateUrl: 'app/app.component.html',
directives: [ROUTER_DIRECTIVES],
providers: [
HTTP_PROVIDERS,
ROUTER_PROVIDERS,
LoggedInGuard
]
})
@RouteConfig([
{ path: '/characters', name: 'Characters', component: CharacterListComponent, useAsDefault: true },
{ path: '/vehicles', name: 'Vehicles', component: VehicleListComponent, canActivate: [LoggedInGuard] }
])
export class AppComponent { }
때마다 LoggedInGuard
의 canActivate
기능이 실행되면 로그 항목을 작성해야합니다. 링크를 탐색 할 때 로그 항목이 만들어지지 않습니다. 즉, 함수가 실행되지 않습니다. 플 런커가 액션 here에서 볼 수 있습니다.
어떤 통찰력을 크게 ...이, 당신의 응용 프로그램을 업그레이드하십시오 당신은 각도 2의 방법으로 이전 버전을 사용하는 각도 2.
이 문제에 대한 해결책을 찾았습니까? – Sujithrao
@Sujithrao Angular 2의 어떤 버전을 실행하고 있습니까? 거기 밖으로 톤의 릴리스가 있고 그들 중 많은 사람들을 위해 (블로그 게시물, 유튜브 비디오 및 SO 질문의 형태로) 문서를 찾을 수 있습니다. Angular 2.xx를 사용하고 있는지 확인하고 (릴리스 후보는 아님) 2016 년 9 월 15 일 이전에 예제를 구현하지 말고 [공식 공식 문서] (https://angular.io)를 사용해보십시오./docs/ts/latest /) – dslosky