2016-09-05 15 views
0

角度2 rc 6ではOnActivateが削除されているようです。現在の角度でのルータ状態イベント2 rc 6

特定のルートに対してすべてのcanActivateメソッドが渡されたときに呼び出されるメソッドが必要です。このメソッドは、ナビゲーションを保持するという約束を受け入れる機能も持っている必要があります。

答えて

0

これらはガード

class UserToken {} 
class Permissions { 
    canActivate(user: UserToken, id: string): boolean { 
    return true; 
    } 
} 
@Injectable() 
class CanActivateTeam implements CanActivate { 
    constructor(private permissions: Permissions, private currentUser: UserToken) {} 
    canActivate(
    route: ActivatedRouteSnapshot, 
    state: RouterStateSnapshot 
): Observable<boolean>|Promise<boolean>|boolean { 
    return this.permissions.canActivate(this.currentUser, route.params.id); 
    } 
} 
@NgModule({ 
    imports: [ 
    RouterModule.forRoot([ 
     { 
     path: 'team/:id', 
     component: TeamCmp, 
     canActivate: [CanActivateTeam] 
     } 
    ]) 
    ], 
    providers: [CanActivateTeam, UserToken, Permissions] 
}) 
class AppModule {} 
+0

おかげで置き換えられているが、すでに、特定のルートが複数のcanactivateを持っているので、どのようにできることを読みます私のcanactivate関数で他のすべてのcanactivateが渡され、私が見つけたこれは成功したナビゲーションになると考えることができます – sathishkumar

+0

おそらくhttp://stackoverflow.com/questions/35912932/angular-2-router-event-listener/35912966#35912966 –

+0

ナビゲーションを保持または遅延する機能を持たないフック。 – sathishkumar

関連する問題