首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS :动态更新JSON文件并使用它重新提供自动提示

AngularJS :动态更新JSON文件并使用它重新提供自动提示
EN

Stack Overflow用户
提问于 2014-05-14 10:38:37
回答 1查看 767关注 0票数 2

假设我有一个编辑家具的表格。

在我的商业逻辑中,家具可以有成品。

在我的ORM逻辑中,“整理”是一个独立于“家具”的实体,有着多到多的关系。

因此,在我的“编辑/家具”表单中,我向用户提供了一个"finishings“分段,

具有2个UI (表单)元素:

  • 一个由finishings.json (一个文件)提供的自动提示字段,
    • 允许用户将已有的成品附加到正在编辑的家具上,

  • 一个"+“按钮,使字段出现,以输入一个或多个结尾。

代码语言:javascript
复制
- _allows the user to add finishings on the fly._

我希望用户能够添加完成,而不离开“家具/addedit/$id”REST url,这样他就不会经历页面重新加载。

为此,我使用“表单中的表单”技巧,这意味着我没有提交整个家具表单:我不希望用户离开页面,也不希望它重新加载它。因此,“提交新的整理”是一个假提交按钮,触发“整理/添加/”REST url。应用程序的其余部分负责重写反映修改后的DB的更新的finishings.json文件。相当标准的东西。

真正的诀窍是:我想要自动建议字段实时地反映变化,通过“重新读取”finishings.json文件来实现这一点。

这里有两个选项:

  1. 与“表单中的表单”不同,我只需更新UI并将新的finishings条目推入基于初始finishings.json文件读取的JSON对象中。我可以将新条目推到这个$scope对象中,这将为UI提供它需要的东西。在提交“编辑家具”表单时,我会准备数据并整理出来:通过用户对家具的每一次整理,并将现有的家具与“刚添加的”家具分开。
  2. 我将“表单保存在表单中”,因为我希望我的finishings.json 文件(而不是json对象)成为“真理的来源”。

我想我可以应付第一种选择,但我真的更喜欢选择2种。

你会怎么做?在finishings.json中,根据需要重新加载AngularJS文件的正确方法是什么,并让它以新的一批新的选项实时地重新输入自动提示?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-14 11:15:16

从finishings.json文件中获得这些新数据的目的是为了让每个应用程序用户都知道该文件中的新数据吗?

我是说..。如果我作为用户A正在添加一个新的整理,您希望我的整理被每个其他应用程序用户考虑?这是建议算法的一部分吗?

如果是这样的话,并且实际上您要寻找的是某种更改侦听器,那么您可以有两个选项来解决这个问题:

( a)每隔x秒使用$timeout来汇集文件(我个人不喜欢这种方法)。

b)创建一个使用某种形式的WebSockets实现(Socket.io、SignalR等)的服务。在较高级别上,它将以这样的方式工作:客户端连接到套接字服务器/集线器,并订阅数据更改事件。然后,每次在文件中添加一个结束时,您就会向套接字服务器发出一个数据更改事件,而套接字服务器又会将该事件广播给每个连接的客户端。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23652277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档