AngularのcanLoadとcanActivateの違いは?質問する

AngularのcanLoadとcanActivateの違いは?質問する

canLoadとの違いは何ですかcanActivate?

export interface Route {
  path?: string;
  pathMatch?: string;
  matcher?: UrlMatcher;
  component?: Type<any>;
  redirectTo?: string;
  outlet?: string;
  canActivate?: any[];
  canActivateChild?: any[];
  canDeactivate?: any[];
  canLoad?: any[];
  data?: Data;
  resolve?: ResolveData;
  children?: Routes;
  loadChildren?: LoadChildren;
}

どちらをいつ選ぶべきでしょうか?

ベストアンサー1

アクティブ化できる権限のないユーザーが特定のルートにアクセスするのを防ぐために使用されます。ドキュメントを見る詳細については。

ロード可能ユーザーに権限がない場合に、アプリケーションがモジュール全体を遅延ロードするのを防ぐために使用されます。

ドキュメントを見る詳細については以下の例をご覧ください。

{
    path: 'admin',
    loadChildren: 'app/admin/admin.module#AdminModule',
    canLoad: [AuthGuard]
},

このコードでは、AuthGuard が を返す場合にのみ、AdminModule のコードがアプリケーションにロードされますtrue

ユーザーがこのルートにアクセスする権限を持たず、ガードのみを使用した場合、ユーザーはそのルートにアクセスできないにもかかわらず、canActivateがロードされます。AdminModule

おすすめ記事