Я получаю список пользователей от остальных.Мне нужно перечислить этих пользователей в таблице данных (нг-премьер).Если щелкнуть строку, она приведет вас к нужному маршруту ([имя хоста] / users / edit / [userId] , который работает отлично!
Однако, если я обновлю страницу, которую получилошибка выше. Я хотел бы понять, почему это происходит.
user-management.service.ts:
// imports are here//
@Injectable({
providedIn: 'root'
})
export class UserManagementService {
selectedUser: {};
private usersList: UserListDTO[] = [];
constructor(private userResoService: UserResourceService) { }
getUsers() {
this.userResoService.findPrivilegedUsersUsingGET().subscribe(resp => {
resp.forEach(user => this.usersList.push(user));
});
}
getUsersList(): UserListDTO[] {
return this.usersList;
}
}
список пользователей.component.ts:
export class UsersListComponent implements OnInit {
cols: any[];
listOfUsers = [];
constructor(private userService: UserManagementService,
private router: Router,
private route: ActivatedRoute) { }
ngOnInit() {
this.userService.getUsers();
this.listOfUsers = this.userService.getUsersList();
this.cols = [
{ field: 'firstName', header: 'First Name' },
{ field: 'lastName', header: 'Last Name' },
{ field: 'email', header: 'email' },
{ field: 'status', header: 'Status' }
];
}
private navigateToUserEdit() {
const id = this.userService.selectedUser['id'];
this.router.navigate(['edit', id], { relativeTo: this.route });
}
onRowSelect(event) {
this.userService.selectedUser = event['data'];
this.navigateToUserEdit();
}
deleteUser(user) {
this.userService.selectedUser = user;
}
}
edit-user.component.ts:
export class EditUserComponent implements OnInit {
constructor(private userService: UserManagementService) { }
userToEdit: {};
ngOnInit() {
this.userToEdit = this.userService.selectedUser;
}
}
edit-user.component.html:
<p>
{{userToEdit['id']}}
</p>
Я получаю сообщение об ошибке в последнем файле. Я думаю, что, возможно, его нет из-за некоторых перехватов жизненного цикла, но как я могу обойти эту проблему? Просветите менялюди ТАК, пожалуйста.
РЕДАКТИРОВАТЬ!: Хорошо, так! Если я проверю пользователя Obj после того, как я перешел, это нормально, но если я обновлю страницу userToEdit= undefined . Как мне вернуть этот Obj?
Или что мне сделать, чтобы получить его? Пожалуйста, не говорите мне использовать localalstorage. ty