Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度形式-仅发送更改的字段_Angularjs - Fatal编程技术网

Angularjs 角度形式-仅发送更改的字段

Angularjs 角度形式-仅发送更改的字段,angularjs,Angularjs,我正在创建一个web客户端,该客户端与带有angular的设置web API一起工作。 有很多设置,它们都是可选的。如果我发送一个设置,它应该被保存。不应更改未发送的设置 要求为所有设置设置一个保存更改按钮 我想知道是否有某种方法可以实现这一点 我曾想过不使用HTMLform,自己收集数据并创建ajax请求,但这样我就会失去验证机制(与Angular UI validate配合良好) 我考虑过将表单拆分成小表单,只提交ng dirty不为false的表单,但如果某些请求失败,这可能会导致部分保存

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

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

我想知道是否有某种方法可以实现这一点

我曾想过不使用HTML
form
,自己收集数据并创建ajax请求,但这样我就会失去验证机制(与Angular UI validate配合良好)

我考虑过将表单拆分成小表单,只提交
ng dirty
不为false的表单,但如果某些请求失败,这可能会导致部分保存(这是违反要求的)


有什么想法吗?

在Angular文档中,有一个示例介绍了ng copy以实现重置功能

在提交过程中,您可以将起始模型(主副本)与更改/提交的对象(更改副本)进行比较,并仅提交更改的项目(或删除相同/未更改的项目)

将副本和母版与 这需要额外的工作来处理数组。 或者转换为JSON并区分JSON

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

<form name="myForm">
   <input name="input1">
</form>


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

这不是我要查找的,但我想这意味着angular不提供这种开箱即用的功能。谢谢。这是重新发明轮子-角度FormController和ngModel已经执行了脏检查,添加了类并将这些信息存储在$scope中。见r4w87173@ArturBodera如果我想自动化这个过程怎么办?似乎我需要跟踪输入名称和模型属性。(事实上我是在问)你可以通过它们找到答案,听起来很琐碎。