0

在创建页面中创建新列表后,我们在更新仪表板页面上的数据列表时遇到问题。它已保存在数据库中,但未在视图中更新。一旦我单击浏览器上的刷新按钮,它就会更新,但这是一个单页网络应用程序。从上一页添加数据后,如何在不刷新页面的情况下更新仪表板页面上的列表?我使用 couchbase 作为数据库。

4

2 回答 2

0

在阅读了这个问题和你的另一个问题之后,我的猜测是,你从 couchbase 获得了旧的观点。

默认情况下,couchbase 将stale参数设置为update_after,这会导致仅在第二次访问后才能获取更新的视图,有关更多信息,请参阅couchbase 文档

stale要解决此问题,设置为应该就足够了false
如果您通过 REST 调用访问 couchbase,添加?stale=false到调用应该可以解决问题,否则根据您使用的SDK 规范添加参数。

于 2013-11-19T17:57:25.547 回答
0

这里的问题是您正在从持久存储中加载内容,然后它按原样保持角度,并且要检索任何更新,您必须从持久存储中重新获取它。不幸的是,$watch 后端并不是那么简单。

您在这里有一些选择:如果您从网站的角度组件中进行更改,那么您可以在创建一个重新触发您的数据库访问代码并刷新模型的新页面时调用一个函数。

如果您从 Angular 外部进行更改,那么您将需要使用轮询定期刷新您的 Angular 模型,或者选择更高级的 web-socket 选项,如此处所述。

于 2013-10-14T08:35:47.097 回答