#angular #typescript
Вопрос:
Я хочу восстановить идентификатор и другой параметр, чтобы иметь возможность отображать его в другом компоненте, у меня есть компонент, в котором я вставляю таблицу угловых материалов, и это проблема, которую я не знаю, как восстановить параметры. если у кого-то есть решение.
Заранее спасибо.
список.компоненты.ts
makeRowObservable(): Obervable<any[]> {
return this.service
.get()
.pipe(
map((data: Istud) => {
data.stud.map((item:any[]) => this.transormListToMap(item)
}
}
transormListToMap() {
let result = {};
for (let i = 0; i < this.tableCols.length; i ) {
let col = this.tableCols[i];
let value = item[i];
let colId = col.key;
result[colId] = value;
}
return resu< //
}
passData() {
this.router.navigate([/route, // i need param here]);
}
list.component.html
<app-table>
[tableCols]="tableCols"
(click)="passData()" // how to get id here ?
[tableRows]="rows | async"
</app-table>
Комментарии:
1. Откуда должен взяться этот параметр?
tableCols[i].key
?2. Под щелчком вы подразумеваете щелчок по строке?
3. Я новичок, я просто хочу получить удостоверение личности
4. любой может мне помочь, пожалуйста
Ответ №1:
При навигации установите объект состояния:
this.router.navigate([/route] {state:{YOURID: VALUE-OF-ID}});
При инициализации компонента, для которого требуется идентификатор:
if(this.history.state){
this.propertyInTheNewComponent = this.history.state.YOURID
}
Комментарии:
1. У меня есть таблица с несколькими данными, необходимо, чтобы идентификатор, который я восстанавливаю, был динамическим
2. таким образом, это состояние может быть объектом со всеми необходимыми параметрами