TL;DR使用AngularFirestore和离子/角度。我希望在用户设备(例如表单上的复选框)之间同步数据,而不会导致所有用户的整页刷新。
我是爱奥尼亚/Angular应用程序的快乐用户,该应用程序用于促进我管理的咖啡店的工作。我在应用程序中有一个现有的清单功能。
该应用程序是使用FireStore作为后端实现的,我使用的是AngularFirestore API。
我在咖啡馆里有几款运行该应用程序的平板电脑,当人们完成任务时,他们可以检查它们。到目前为止,一切顺利。
现在,工作人员要求我同步检查表,以便如果有人在一台平板电脑上标记一个项目为完整,所有平板电脑都会得到更新。显而易见的解决方案是简单地使用双向绑定和AngularFirestore API。当一个用户选中一个复选框时,平板电脑始终处于同步状态,因为该应用程序已订阅valueChanges()
。
但是有一个问题。当一个用户更新FiRecovery时,所有其他用户都会经历页面刷新。在他们的工作流程中,他们必须重新滚动到他们工作的清单中的任何位置,然后他们的一位同事更新了FireStore数据库。这是一个错误。
我怀疑我遗漏了一个基本的AngularFirestore或Ionic/Angular概念。我想在不刷新整个页面的情况下更新页面上的字段。
以下是一个典型的实施:
module.ts
this.notesCollection = this.afs.collection('notes', (ref) =>
ref.orderBy('deleted').orderBy('notes').where('deleted', '!=', 'true')
);
this.notesInfo = this.notesCollection.snapshotChanges();
this.notesInfo.subscribe((notes) => {
this.notesElements = notes.map((note) => ({
id: note.payload.doc.id,
...note.payload.doc.data(),
expanded: false,
}));
});
html
<ion-list>
<div *ngFor="let note of notesElements">
<div *ngIf="!note.deleted">
<ion-item>
<ion-grid>
<ion-row width="100%">
<ion-col size="11">{{note.notes}}</ion-col>
<ion-col size="1">
<ion-buttons>
<ion-button
slot="end"
(click)="expandItem($event, false, note)"
><div>Edit</div>
</ion-button>
</ion-buttons>
</ion-col>
</ion-row>
...
我用Formaray解决了这个问题。以下是我所做的:
>
定义firestore集合,订阅snapShotChanges()服务。
在ngOnInit中,将内容写入FormArray。
每次启动服务时,我都会检查哪个元素发生了更改,然后我只使用更新了FormArray的必需元素。patchValue({标记:值})
问题内容: 我有一个网站需要更新状态。就像飞行一样,您要离开,巡航或着陆。我希望能够刷新状态而无需让观众拥有并重新加载整个页面。我知道有一种使用AJAX和jQuery的方法,但是我对它的工作原理没有任何了解。我也不希望他们单击按钮。如果有人知道该怎么做,我将不胜感激! 问题答案: 通常,如果您不知道某些事情是如何工作的,请寻找可以学习的示例。 对于此问题,请考虑 您可以看到使用jQuery很容
问题内容: 我有一个文件,其中我在页面顶部显示外部页面(使用iframe),其他部分是写在文件中的html代码的输出。 HTML代码如下所示: 现在,我想以编程方式刷新页面而不刷新。 我的问题是我可以不刷新页面就刷新页面吗? 答案/提示将不胜感激。 问题答案: 该嵌在主HMTL页面(或在JSP)。因此,如果刷新页面,则肯定会再次加载iframe。 为了避免这种情况,我可以考虑以下两种选择: 使用A
我想在成功删除数据后刷新页面。当我删除或更新时,我必须进行页面刷新,然后刷新我的数据。如何在ionic 4中使用navController,请帮助我... book-list.page.html 书籍列表。页ts 这是我的代码plase请帮助我如何在ionic中刷新页面以及如何在此代码中使用NavController请帮助我
问题内容: 我有一个Angular SPA,它根据一些餐厅数据的不同部分提供了各种推荐列表和位置的Google Map(请参阅m.amsterdamfoodie.nl)。我希望每个列表都有自己的URL。为了让Google抓取不同的列表,我将标签用于offcanvas导航。 目前,标签会导致视图刷新,这在地图上非常明显。 我可以防止使用和(请参见下面的代码段),但是随后我需要实现一种更新浏览器URL
主要内容:实例在加载新数据的时候,我们需要实现下拉刷新效果,代码如下: 实例 HTML 代码 JavaScript 代码 item.json 文件数据: 尝试一下 » 效果如下所示:
在加载新数据的时候,我们需要实现下拉刷新效果,代码如下: 实例 HTML 代码 <body ng-app="starter" ng-controller="actionsheetCtl" > <ion-pane> <ion-content > <ion-refresher pulling-text="下拉刷新" on-refresh="doRefr