Я получил этот класс:
export class Project {
$key: string;
file: File;
name: string;
title: string;
cat: string;
url: string;
progress: number;
createdAt: Date = new Date();
constructor(file: File) {
this.file = file;
}
}
У меня есть компонент загрузки, куда я загружаю всю эту информацию в свою базу данных / хранилище, и она отлично работает.
Затем я показываю все проекты в home.component, как это:
Upload.Service:
getUploads() {
this.uploads = this.db.list(`profile/${this.auth.userId}/project`).snapshotChanges().map((actions) => {
return actions.map((a) => {
const data = a.payload.val();
this.showVisualContent(data.url, data.name);
const $key = a.payload.key;
const $ref = a.payload.ref;
return { $key, ...data, $ref };
});
});
return this.uploads;
}
Дом.Компонент:
uploads: Observable<Project[]>;
ngOnInit() {
this.uploads = this.navSrv.getUploads();
}
Home.html:
<div *ngFor="let project of uploads | async" class="responsive-width">
<mat-card-title class="project-card-title">{{project.name}}</mat-card-title>
</div>
Таким образом, я показываю все проекты в home.component. Что я хочу это:
- Я нажимаю на один из проектов в моем home.component.
- Перейти к дочернему компоненту
- Просмотр только информации о проекте по кликам (не для всех проектов).
Я немного знаю об источниках событий (возможно, мне нужно их использовать), но я не знаю, как получить тот проект, на котором я щелкаю, и показывать его в дочернем компоненте. Как Для этого?
getOneProject() { //and pass it to another component
}