Решением для вашего случая является определение нескольких маршрутов.
const routes: Routes = [
{path: 'login', component: LoginComponent},
{path: 'register', component: RegisterComponent},
{path: 'profile', component: ProfileComponent, canActivate: [AuthGuardService]},
{path: 'products/:category', component: ProductsComponent},
{path: '', component: ProductsComponent}
]
И проверьте параметры и выполните дальнейшую логику:
ngOnInit() {
this.route.params.subscribe(params => {
if (params['category'])
});
}
Ваш случай имеет необязательный параметр, и вышеуказанное решение должно работать.