Why does route guard canLoad not fire, but canActivate does
<p>I have an angular 2.0.1 (final) app that uses <strong>HashLocationStrategy</strong> for the route navigation strategy.</p>

<p>I define one of my routes as follows:</p>

<pre><code>    { 
    path: 'shiftmanage', component: ShiftManageComponent,
    canLoad: [AuthGuard],
    canActivate: [AuthGuard] 
    },
</code></pre>

<p>Here is the AuthGuard Class:</p>

<pre><code>    import { Injectable }           from '@angular/core';
    import { 
        Route, 
        Router, 
        CanLoad, 
        CanActivate,
        ActivatedRouteSnapshot, 
        RouterStateSnapshot }       from '@angular/router';

    @Injectable()
    export class AuthGuard implements CanLoad, CanActivate {
        constructor(private router: Router) {
            console.log("AuthGuard constructor")
        }

        canLoad(route: Route): boolean {
            if (route.path === "shifts") {
                return true;
            } else {
                return false;
            }        
        }

        canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
            if (route.routeConfig.path === "shiftmanage") {
                return true;
            } else {
                return false;
            }
        }
    }
</code></pre>

<p>and I add this guard class to the NgModule Providers like so:</p>

<pre><code>providers: [
    AuthGuard,
    { provide: LocationStrategy, useClass: HashLocationStrategy }
    ... other providers
]
</code></pre>

<p>The navigation works and the <strong>canActivate</strong> route guard is hit whenever I try to navigate to the <strong>shiftmanage</strong> path.</p>

<p><strong>PROBLEM:</strong> The <strong>canLoad</strong> route guard is never hit.</p>

<h2>QUESTION:</h2>

<p>Is this <strong>canLoad</strong> guard not being hit because of the HashLocationStrategy  or is there something else I am doing wrong?</p>