首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >角形-只发送更改的字段

角形-只发送更改的字段
EN

Stack Overflow用户
提问于 2013-05-16 13:04:41
回答 2查看 10.9K关注 0票数 9

我正在创建一个web客户端,它使用带有角的设置web。有很多设置,它们都是可选的。如果我发送一个设置,它应该被保存。未发送的设置不应更改。

要求为所有设置设置一个保存更改按钮。

我不知道在角度上是否有什么方法来实现这一点。

我考虑不使用HTML,不收集数据,自己创建ajax请求,但这样我就会失去验证机制(这在角UI验证方面运行得很好)。

我考虑将表单拆分为小表单,只在ng-dirty不为false的情况下将表单子化,但如果某些请求失败(这违背了需求),这可能会导致部分保存。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-17 01:17:43

在角度文档中,有一个例子涵盖了ng拷贝来实现重置功能。

http://docs.angularjs.org/cookbook/advancedform

在提交期间,您可以将初始模型(主副本)与更改/提交的对象(更改的副本)进行比较,并且只提交更改的项(或只删除相同/未更改的项)。

使用http://blog.vjeux.com/2011/javascript/object-difference.html区分副本和母版,这需要额外的工作来处理数组。或转换为JSON并区分JSON https://github.com/benjamine/JsonDiffPatch

票数 6
EN

Stack Overflow用户

发布于 2013-10-11 12:26:18

您可以在提交之前检查表单或任何命名字段是否已被修改。如果表单有一个名称,而您的输入有如下名称:

代码语言:javascript
代码运行次数:0
运行
复制
<form name="myForm">
   <input name="input1">
</form>

在控制器中,您可以访问对象$scope.myForm$scope.myForm.input1,如果用户修改了原始值,这些对象将具有一个$dirty属性。

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

https://stackoverflow.com/questions/16588263

复制
相关文章

相似问题

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