До сих пор я использовал макет, содержащий массив, из которого все приложение получало свои данные, перебирая его. Работает нормально.
export const CASES: Case[] = [
{ id: 0,
name: 'Diesel',
portfolioImage: '/assets/images/portfolio/diesel.png',
image: '/assets/images/diesel.jpg',
image2: '/assets/images/diesel/diesel-sunflower.png',
image3: '/assets/images/diesel/diesel-cap.png',
link: '/cases/diesel',
header: 'black'
},
{ id: 1,
name: 'WeWork Berlin',
portfolioImage: '/assets/images/portfolio/berlin.png',
image: '/assets/images/berlin.jpg',
image2: '/assets/images/wework/berlin-logo.png',
image3: '/assets/images/wework/berlin-building.png',
link: '/cases/wework',
header: 'white'
}
];
В настоящее время я пытаюсь подключить свое приложение к Firestore. Чтобы получить данные из Firestore, я использовал следующий код внутри желаемого компонента:
export class PortfolioComponent implements OnInit {
cases;
constructor(private db: AngularFirestore) { }
ngOnInit() {
this.db.collection('entries').valueChanges()
.subscribe(val => this.cases = val);
}
}
Это работает, но я хочу назвать это только один раз - если быть точным, есть ли способ получить данные при инициализации приложения ...
- и либо вставьте его в макет, который я использовал раньше,
- или вставьте данные в массив, который можно использовать глобально
Для этого я хочу добиться, чтобы данные загружались только один раз, вставлялись и распространялись оттуда. Так же, как я сделал это без Firestore.