I am trying to list all data from my firebase database where the logged in facebook user’s email address is the same as the email found in the database:

The following code is not working, lots of formatting issues, no idea how should i rewrite this
<ng-container *ngFor="let item of fogasadatok; let i = index">
<ion-card *ngIf="{{item.useremail}}=={{navParams.data.facebookemail}}">
<img src="{{item.keplink}}"/>
<ion-card-content>
<ion-card-title>
{{item.datum}} - Ponty
</ion-card-title>
<p>
Egyéb:
</p>
</ion-card-content>
</ion-card>
There’s no need to use interpolation in *ngIf
, so remove the brackets.
*ngIf="item.useremail == navParams.data.facebookemail"
You should also use the []
syntax for binding to an image source:
<img [src]="item.keplink"/>
I’d also recommend moving the email logic to the controller, and making it so that fogasadatok
only contains the items you actually want to display, which remove the need for the *ngIf
.
1 Like
Thank you, it is working now!
I tried moving the email thing to the constructor like this:
this.firebasedb.list("/fogasok/").subscribe(_data => {
if (_data.useremail==this.navParams.get("facebookemail")){
} else{
}
console.log(_data);
this.fogasadatok = _data;
})
But i cant really get the useremail from the _data, however i can see it in the object from the log:

You’d want to write something like this:
this.firebasedb.list("/fogasok/").subscribe(_data => {
this.fogasadatok = _data.filter(item => item.useremail == this.navParams.get("facebookemail"));
console.log(this.fogasadatok);
})
(Apologies, I don’t know what ‘fogasadatok’ means so I just used ‘item’)
1 Like