Angular 无法显示firebase数据
我想为已经登录的用户显示记录。我在这里创建了账单模块。我想显示登录用户的账单列表。我已成功获取记录,但在我的html上显示时显示错误“this is null” 比尔·塔斯 bill.htmlAngular 无法显示firebase数据,angular,firebase-realtime-database,ionic3,Angular,Firebase Realtime Database,Ionic3,我想为已经登录的用户显示记录。我在这里创建了账单模块。我想显示登录用户的账单列表。我已成功获取记录,但在我的html上显示时显示错误“this is null” 比尔·塔斯 bill.html <ion-list *ngFor="let item of items"> <ion-item (click)="viewItem(item)"> <!-- <button ion-item *ngFor="let item of items" (click)="
<ion-list *ngFor="let item of items">
<ion-item (click)="viewItem(item)">
<!-- <button ion-item *ngFor="let item of items" (click)="viewItem(item)">
{{ item.description1 }}
</button> -->
<p>{{item.bill_period}} </p>
</ion-item>
{{item.bill_period}
将
.once('value',function(){…})
替换为.once('value',()=>{…})
(使用箭头函数)。函数定义获取其内部所引用的上下文。箭头函数将保留上下文。使用箭头函数。箭头函数捕获封闭上下文的此值
将.one('value',function(){…})
替换为以下内容
public items = [];
ref.orderByChild("bill_eml")
.equalTo(window.sessionStorage.getItem("Sessioneml"))
.once("value", (snapshot)=> {
console.log(snapshot.key);
console.log(snapshot.val());
this.items.push(snapshot.val());
console.log('item'+JSON.stringify(this.items));
});
更新
查看更新的答案
<ion-header>
<ion-navbar>
<ion-title>Home</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-list *ngFor="let item of objectKeys(items)">
<ion-item>
<b>{{ item }}</b>: {{ items[item].bill_eml }}
</ion-item>
</ion-list>
</ion-content>
data=`
[{
"-L3glAc3XA9tnEIdjNtq": {
"bill_due_date": "2018-01-25",
"bill_eml": "demo@niyanta.co.in",
"bill_flat": "345",
"bill_id": "-L3glAc2ucb7Hfpnic23",
"bill_name": "dfgh",
"bill_period": "2018-02-01",
"total": "4"
},
" -L40QW21pozAgTaYijh1": {
"bill_due_date": "2018-01-29",
"bill_eml": "demo@niyanta.co.in",
"bill_flatno": "2",
"bill_id": "-L40QW2-xMnuERXBLGxQ",
"bill_name": "test",
"bill_period": "2018-01-30",
"total": "300"
}
}]`
items;
objectKeys;
constructor(
public navCtrl: NavController) {
this.objectKeys = Object.keys;
this.items=JSON.parse(this.data)[0];
}
}
家
{{item}}:{{items[item].bill{eml}
资料=`
[{
“-L3glAc3XA9tnEIdjNtq”:{
“账单到期日”:“2018-01-25”,
“条例草案”:demo@niyanta.co.in",
“比尔公寓”:“345”,
“票据id”:“-L3glAc2ucb7Hfpnic23”,
“票据名称”:“dfgh”,
“账单期限”:“2018-02-01”,
“总计”:“4”
},
“-L40QW21pozAgTaYijh1”:{
“账单到期日”:“2018-01-29”,
“条例草案”:demo@niyanta.co.in",
“bill_flatno”:“2”,
“票据id”:“-L40QW2 xMnuERXBLGxQ”,
“账单名称”:“测试”,
“法案期限”:“2018-01-30”,
“总计”:“300”
}
}]`
项目;
对象键;
建造师(
公共NAVTRL:NAVTROLER控制器){
this.objectKeys=Object.keys;
this.items=JSON.parse(this.data)[0];
}
}
what is null here?“this”指针为null\u v.context.$implicit为null?您使用的是ionic吗?但它在查看页面上只显示了一条记录,我有多条记录要做什么?在控制台中,我检索我想要显示的记录。但当我将该对象绑定到html时,它只显示一条记录共享json响应
<ion-header>
<ion-navbar>
<ion-title>Home</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-list *ngFor="let item of objectKeys(items)">
<ion-item>
<b>{{ item }}</b>: {{ items[item].bill_eml }}
</ion-item>
</ion-list>
</ion-content>
data=`
[{
"-L3glAc3XA9tnEIdjNtq": {
"bill_due_date": "2018-01-25",
"bill_eml": "demo@niyanta.co.in",
"bill_flat": "345",
"bill_id": "-L3glAc2ucb7Hfpnic23",
"bill_name": "dfgh",
"bill_period": "2018-02-01",
"total": "4"
},
" -L40QW21pozAgTaYijh1": {
"bill_due_date": "2018-01-29",
"bill_eml": "demo@niyanta.co.in",
"bill_flatno": "2",
"bill_id": "-L40QW2-xMnuERXBLGxQ",
"bill_name": "test",
"bill_period": "2018-01-30",
"total": "300"
}
}]`
items;
objectKeys;
constructor(
public navCtrl: NavController) {
this.objectKeys = Object.keys;
this.items=JSON.parse(this.data)[0];
}
}