Also, try this.firebaseData.getBillDetail(this.navParams.get('billId'))
.once("value", function(snapshot) {
this.currentBill = snapshot.val();
this.currentBill.id = snapshot.key;
}
snapshot isn't wrapped in your original code, and using once instead of on might help out. Not giving everything extremely similar names would totally help too...it's like a mineField!!