我有firestore.service.ts,在一种方法中,我在firebase中创建和更新集合...离开该方法后,我更改了集合的“ id”,但是我需要此“ id”为不会丢失,因为我需要下一个方法。 如何保存该“ id”值?
public createFormulario ( data ) {
return this.firestore.collection('formularios').add(data).then
(ref => {
data.id = ref.id; <==keep this data.id
this.firestore.collection('formularios').doc( ref.id ).update(data);
});
public createPregunta1 ( data: any ) {
this.firestore.collection('formularios').doc( 'i need the above data.id here' ).update(data);
}
所以,我需要从createFormulario中捕获数据。 并在另一种称为createPregunta1的方法中使用它。
很明显,当应用程序运行并从第一页传递到第二页时。该data.id为空
答案 0 :(得分:1)
您可以在服务/类中声明一个变量,例如id: number;
,然后可以在类中的任何地方引用该变量。
因此,在您的createFormulario
方法中,您可以说this.id = ref.id;
,它将在服务中将ID全局存储(在服务内),您可以在createPreguntal
方法中将其引用为this.id
export class FirestoreService {
//declare our class variables
id: number;
public createFormulario ( data ) {
return this.firestore.collection('formularios').add(data).then
(ref => {
this.id = ref.id; //store the id in our class variable
this.firestore.collection('formularios').doc( ref.id ).update(data);
});
}
public createPregunta1 ( data: any ) {
this.firestore.collection('formularios').doc(this.id).update(data);
}
}