Darwin Gómez Santamaría
PreguntaBuenas noches, estoy usando la libreria angular-datatables para crear un index, dentro del componente configuro la logica respectiva y allí mismo renderizo los botones que me serviran como las acciones que ejecutara el usuario, pero tengo un problema, intento acceder a la url a la cual le envio el id del registro que deseo modificar, cuando yo doy click efectivamente la url cambia pero no me muestra el componente. la verdad no he dado con la falla, agradezco cualquier recomendación.
users.component.ts
ngOnInit() { const that = this; this.dtOptions = { pagingType: 'full_numbers', pageLength: 25, serverSide: true, processing: true, responsive: true, language: { url: '../../assets/lang/datatable-spanish.json' }, ajax: (dataTablesParameters: any, callback) => { that.service.getUsers(dataTablesParameters) .subscribe((resp: any) => { that.users = resp.data; callback({ recordsTotal: resp.data.total, recordsFiltered: resp.data.total, data: resp.data.data, }); }); }, columns: [ { data: 'nombre' }, { data: 'apellido' }, { data: 'email' }, { data: 'perfil' }, { data: '_id', render: (data) => ` <a class="btn-option"> <img class="edit" src="../../../assets/icons/edit.svg" data-id="${data}" width="20px" uk-tooltip="title:Editar; pos: top; delay: 200"> </a> <a class="btn-option"> <img class="resend" src="../../../assets/icons/mail.svg" data-id="${data}" width="30px" uk-tooltip="title:Reenviar correo activación; pos: top; delay: 200"> </a> <a class="btn-option"> <img class="resend" src="../../../assets/icons/trash.svg" data-id="${data}" width="20px" uk-tooltip="title:Eliminar; pos: top; delay: 200"> </a> ` } ] }; }
ngAfterViewInit(): void { this.renderer.listen('document', 'click', (event) => { if (event.target.classList.contains('edit')) { this.router.navigate(['users/edit/' + event.target.dataset.id]); } }); }
users-routing.module.ts
import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { EditComponent } from './edit/edit.component'; import { UsersComponent } from './users.component'; const routes: Routes = [ { path: '', component: UsersComponent, children: [ { path: 'edit/:id', component: EditComponent }, ] } ]; @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule] }) export class UsersRoutingModule { }
app-routing.module.ts
import { NgModule } from '@angular/core'; import { Routes, RouterModule, PreloadAllModules } from '@angular/router'; import { LayoutComponent } from './components/layout/layout.component'; import { DashboardComponent } from './components/dashboard/dashboard.component'; import { OwnershipsComponent } from './components/ownerships/ownerships.component'; const routes: Routes = [ { path: '', component: LayoutComponent, children: [ { path: '', redirectTo: 'inicio', pathMatch: 'full' }, { path: 'inicio', component: DashboardComponent }, { path: 'users', loadChildren: () => import('./components/users/users.module').then( m => m.UsersModule) }, { path: 'ownerships', component: OwnershipsComponent, children: [] } ] } ]; @NgModule({ imports: [RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })], exports: [RouterModule] }) export class AppRoutingModule { }

Nicolas Molina
Hola, genial que estes ya implementado todo lo aprendido, felicidades por eso.
Una pregunta el componente
UsersComponent
No te da ningún error de consola? es decir normalmente cuando hay errores de ruta en consola sale un error de
no Match
Si puedes pasar un repo sería genial.