2017-03-07 14 views
2

からルートに移動します。私は奇妙な問題があり、それを修正する方法を理解していません。だから私はあなたがWebアプリケーションのいくつかのURLに行くときにログインしているかどうかを確認するサービスを持っています。そうでない場合、ホームページにリダイレクトされます。角2は、CanActivateサービス

マイservice`

import { Injectable } from '@angular/core'; 
import { CanActivate, Router } from '@angular/router'; 

@Injectable() 
export class AuthService implements CanActivate { 
    private userLogedin: string = localStorage.getItem('AUTHENTICATION'); 

    constructor(private router: Router) {} 

    canActivate() { 
     if(this.userLogedin === 'true') { 
      return true; 
     } 

     this.router.navigateByUrl('/'); 
     return false; 
    } 
} 

import { Routes, RouterModule } from '@angular/router'; 
import { ModuleWithProviders } from '@angular/core'; 

import { ProfilePageComponent } from 'app/components/ProfilePageComponent/ProfilePageComponent'; 
import { AuthService } from 'app/shared/AuthService'; 


const profilePageRoutes: Routes = [ 
    {path: 'profile', component: ProfilePageComponent, canActivate: [AuthService] } 
    ]; 

export const profilePageRouting: ModuleWithProviders = RouterModule.forChild(profilePageRoutes); 

しかし、ハイテクトップページにリダイレクトするとき、それは私に空白のページを与えるをmodule.routing

import { Routes, RouterModule } from '@angular/router'; 
import { ModuleWithProviders } from '@angular/core'; 

import { LandingPageComponent } from 'app/components/LandingPageComponent/LandingPageComponent'; 

const landingPageRoutes: Routes = [ 
    {path: '', component: LandingPageComponent, pathMatch: 'full'} 

    ]; 

export const landingPageRouting: ModuleWithProviders = RouterModule.forChild(landingPageRoutes); 

ルータcanactivateをルーティング私のモジュール。

+1

? –

+0

質問を更新します –

答えて

0

ですから、この問題は、このRouterModule.forRootを試してみてください(appRoutes、{useHash:真})がある場合はcanActivateガードがルートに適用

関連する問題