Angular 6 ActivatedRouteSnapshot服务Firebase
要使用“我的详细信息”组件(pah:“/patient/:Id)”的Id在firebase中保存数据 为了保存数据,我在数据服务中写了以下内容:Angular 6 ActivatedRouteSnapshot服务Firebase,angular,firebase,firebase-realtime-database,snapshot,Angular,Firebase,Firebase Realtime Database,Snapshot,要使用“我的详细信息”组件(pah:“/patient/:Id)”的Id在firebase中保存数据 为了保存数据,我在数据服务中写了以下内容: createNewTumeur(newTumeur: Tumeur) { const id = this.route.snapshot.params['id']; console.log(id); this.tumeurs.push(newTumeur); firebase.database().ref('/patients/'+id).
createNewTumeur(newTumeur: Tumeur)
{
const id = this.route.snapshot.params['id'];
console.log(id);
this.tumeurs.push(newTumeur);
firebase.database().ref('/patients/'+id).child("tumeur").update(this.tumeurs);
this.tumeurSubject.next(this.tumeurs);
但是我不能得到id的值……请问怎么了?
//my.component.ts
从'@angular/router'导入{ActivatedRoute};
从“/my data.service”导入{MyDataService};
构造函数(私有路由:ActivatedRoute,私有数据服务:MyDataService)
创建新用户(新用户:Tumur){
const id=this.route.snapshot.params['id'];
console.log(id);
this.dataService.createNewTumeur(id)
//然后将逻辑添加到数据服务中
}
为什么您不能保存?浏览器控制台是否显示任何错误?请提供更多详细信息。控制台说id未定义。如果我编写此代码,我可以将其保存在firebase.database().ref('/patients/'0).child(“tumur”).update(this.tumurs);因此我猜您的控制台.log(id);
显示未定义。您的URL是否包含id属性?此组件的路由是什么样子的?是的,我的URL包含id属性。此组件的路由是:{path:'patients/:id',canActivate:[AuthGuardService],组件:SinglePatientComponent},你有一个例子吗?给你,如果你还有任何问题,请随时提问:非常感谢,我有一些困难,所以我要去工作了…^^@boost block