Matching strategies
By default the router checks if the URL starts with the path property of a route, that is, it checks if the URL is prefixed with the path. This is an implicit default, but we can set this strategy explicitly, as follows:
// identical to {path: 'a', component: ComponentA}
{path : 'a' , pathMatch:'prefix',component: ComponentA}
The router supports a second matching strategy-full, which checks that the path is "equal" to what is left in the URL. This is mostly important for redirects. To see why, let's look at this example:
[ { path: '', redirectTo: '/inbox' }, { path: ':folder', children: [ ... ] } ]
Because the default matching strategy is prefix, and any URL starts with an empty string, the router will always match the first route. Even if we navigate to
/inbox
, the router will apply the first redirect. Our intent, however, is to match the second route when navigating to /inbox
, and redirect to /inbox
...