考虑到已注册用户的UID(使用电子邮件/密码方法),我在Firebase Database
中创建了个人资料(补充信息)。所以,该计划看起来像这样:
当我需要将数据访问限制为仅生成它们的相应用户时,它正常工作。 但现在我有一个匿名用户,他需要阅读这些数据,但我无法获得密钥的值" nome"," latitude","经度"等 我的困难是将第一个节点(即UID)插入匿名查询路径。
这是我尝试执行的代码段:
import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';
import { Component } from '@angular/core';
import { NavController, IonicPage } from 'ionic-angular';
import { Observable } from 'rxjs/Observable';
import { Perfil } from '../../models/perfil';
@IonicPage()
@Component({
selector: 'page-map',
templateUrl: 'map.html',
})
export class MapPage {
$key: any;
$userId: string;
perfilList: Observable<any[]>;
constructor(public navCtrl: NavController, db: AngularFireDatabase) {
this.perfilList = db.list("/perfil/" + this.$userId).valueChanges(); // => Here is my problem!
}
这是Perfil课程:
export interface Perfil{
$userId?: string;
$key?: string;
nome: string;
categoria : string;
endereco: string;
latitude: string;
longitude:string;
file: string;
descricao: string;
}
此代码没有显示错误,但也没有以map.html方式返回任何内容:
<ion-item *ngFor = "let p of perfilList | async">
{{p.nome}}
</ ion-item>