【发布时间】:2019-02-03 12:06:16
【问题描述】:
当我尝试使用其 id 获取文档时,我无法获取文档的值,当我在控制台中显示变量时,它会显示
Observable {_isScalar: false, source: Observable, operator: MapOperator}
这是我的服务中我的功能的定义
getDataDetails(id: any) {
this.dataDocumment = this.afs.doc('economie/' + id);
return this.dataDocumment.valueChanges();;
}
这是我的模板
<div class="main-content">
<div class="container-fluid">
<div class="header text-center">
<h3 class="title">{{dataD.adresse | async | json}}</h3>
<p class="category">Ensemble d'informations sur les communes prioritaires ou intervient CPDEP</p>
</div>
<div class="places-sweet-alerts">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header card-header-icon" data-background-color="red">
<i class="material-icons">assignment</i>
</div>
<div class="card-content">
<h4 class="card-title">Présentations des communes</h4>
<div class="toolbar">
<div class="col-lg-2"></div>
<div class="col-lg-8">
<div class="card">
<div class="card-header card-header-danger" data-background-color="red">
<h4 class="card-title">Circonscription de </h4>
<p class="category">Département du </p>
</div>
<div class="card-content">
<ul class="list-group list-group-flush">
<li class="list-group-item">Arrondissement : </li>
<li class="list-group-item">Nombre de sections communales : </li>
<li class="list-group-item">Organisation : </li>
<li class="list-group-item">Superficie : </li>
<li class="list-group-item">Population : </li>
<li class="list-group-item">Economie : </li>
<li class="list-group-item">Nombre de centres de vote : </li>
<li class="list-group-item">Nombre de bureaux de vote : </li>
<li class="list-group-item">Nombre d'électeur : </li>
</ul>
</div>
</div>
</div>
<div class="col-lg-2"></div>
</div>
</div>
<!-- end content-->
</div>
<!-- end card -->
</div>
<!-- end col-md-12 -->
</div>
</div>
</div>
</div>
这是我的组件代码
import { Component, OnInit } from '@angular/core';
import { EconomieService } from '../../services/economie.service';
import { Router, Params, ActivatedRoute} from '@angular/router';
@Component({
selector: 'app-economie-detail',
templateUrl: './economie-detail.component.html',
styleUrls: ['./economie-detail.component.scss']
})
export class EconomieDetailComponent implements OnInit {
id : string ;
dataD : any;
constructor(private eco: EconomieService,private route: ActivatedRoute) { }
ngOnInit() {
this.id = this.route.snapshot.params['id'];
this.dataD = this.eco.getDataDetails(this.id);
}
}
知道出了什么问题吗?
【问题讨论】:
-
您需要使用
.subscribe在可观察对象发出时从其中获取数据。 -
也许这个帖子可以帮助link
-
@ahsan,看起来它是针对旧版本的,因为它使用
.then来解开值。当前版本的 AngularFire2 返回一个Observable。无论如何,这里使用valueChanges()。 -
您的组件代码仍然丢失。
-
dataD.adresse | async | json应该是dataD | async | json顺便说一句,这只是为了检查这个 Observable 将解析到的值。尝试这样做:(dataD | async)?.adresse
标签: angular observable angular-services