Angular 4: solución para abordar el orden del parámetro opcional:
HACER ESTO:
const appRoutes: Routes = [
{path: '', component: HomeComponent},
{path: 'products', component: ProductsComponent},
{path: 'products/:id', component: ProductsComponent}
]
Tenga en cuenta que las rutas products
y products/:id
se nombran exactamente igual. Angular 4 seguirá correctamente las products
rutas sin parámetro, y si es un parámetro, seguirá products/:id
.
Sin embargo, la ruta para la ruta sin parámetros noproducts
debe tener una barra inclinada final; de lo contrario, angular la tratará incorrectamente como una ruta de parámetros. Entonces, en mi caso, tuve la barra inclinada final para los productos y no estaba funcionando.
NO HAGAS ESTO:
...
{path: 'products/', component: ProductsComponent},
{path: 'products/:id', component: ProductsComponent},
...