【发布时间】:2017-07-24 17:45:24
【问题描述】:
我正在使用 Ionic 2/Typescript 创建一个分配跟踪器应用程序,并使用 Firebase 作为数据库。主页是数据库中的作业列表。当用户添加新任务时,它会从用户那里获取 2 个输入(标题和到期日期)并将它们保存到数据库中的一个条目中,没有问题。我不知道如何让条目重新显示在应用程序中?我确实让它与一个用户输入和一个警报完美地工作,而不是一个单独的页面来添加,单独的页面是它走下坡路的地方。
我不确定我是否添加错误或显示错误或两者兼有 - 任何帮助或建议将不胜感激!
用户保存新作业时的打字稿代码:
saveItem(){
var assignment = {
title : this.title,
due : this.due,
}
this.assignments.push({
assignment,
});
}
用于添加新的离子代码:
<form (submit) = "saveItem()" >
<ion-item>
<ion-label floating>Assignment Title</ion-label>
<ion-input type="text" [(ngModel)]="title" name="title"></ion-input>
</ion-item>
<ion-item>
<ion-label floating>Date</ion-label>
<ion-datetime displayFormat="MMM DD, YYYY HH:mm" [(ngModel)]="due" name="due"></ion-datetime>
</ion-item>
<div padding>
<button type="submit" color="primary" block >Save</button>
</div>
</form>
显示列表的离子代码:
<ion-list>
<ion-item *ngFor="let a of assignments | async" (click)="showOptions(a.$key, a.title, a.due)">
{{a.assignment}}
</ion-item>
</ion-list>
这是它在数据库中的显示方式: testentry
【问题讨论】:
-
你能告诉我们你的
on("child_added")回调吗? -
是更新离子列表还是其他什么?异步意味着我最初不需要一个,那是我出错的地方吗?
-
哦,是的。您需要使用
on("child_added")来获取最新的附加值并更新您的列表。this.assigments是对 firebase 数据库的引用,对吧?还是只是一个数组? -
是的,它是对数据库的引用!我应该把 on("child_added") 放在哪里?
标签: angular typescript firebase firebase-realtime-database ionic2