Javascript AngularJS-查找当前范围内的所有ngModel

Javascript AngularJS-查找当前范围内的所有ngModel,javascript,angularjs,Javascript,Angularjs,我有这样一个HTML模板: <div ng-controller="MyCtrl"> <input ng-model="model.name" /> {{model.addr}} <button ng-click="detect()">detect</button> </div> 模板可以由用户自定义并动态生成,而不是静态模板。我想优化从服务器返回的数据模型,只返回模板中所需字段的值。我想从模板中获取所有ng模型字段,

我有这样一个HTML模板:

<div ng-controller="MyCtrl">
    <input ng-model="model.name" /> {{model.addr}}
    <button ng-click="detect()">detect</button>
</div>
模板可以由用户自定义并动态生成,而不是静态模板。我想优化从服务器返回的数据模型,只返回模板中所需字段的值。我想从模板中获取所有ng模型字段,并将它们传递给服务器。返回的数据将只包含这些字段的值,而不是整个数据模型,例如:

{
    name: 'Superhero',
    addr: 'Mars'
}
如果我像这样更改模板(删除model.addr):

有没有办法获取范围中的所有ng模型字段?
谢谢

您可以做一件事,无论您在哪里使用ng模式,使用对象模式并使用点(.)赋值

假设

 <div ng-controller="MyCtrl">
<input ng-model="model.name1" />
<input ng-model="model.name2" />
<input ng-model="model.name3" />  
<button ng-click="detect()">detect</button>

发现


因此,您可以在范围内获得模型,从而获得范围的所有属性。

在角度范围内,模型和数据应映射或连接。不能通过标记选择元素,例如在jQuery中。即使使用jQuery执行此操作,角度也不正确,并且会导致其他困难,例如以后无法更新模型。你在构建表单生成器吗?@astro是的,我在构建表单生成器。好的,那么你需要做的是将每个表单视为一个指令,并将从服务器获得的表单生成器的输入对象解析为该指令,并相应地更新提交的模式。看看这个项目他是如何完成的,很难解释堆栈溢出
<div ng-controller="MyCtrl">
    <input ng-model="model.name" />
    <button ng-click="detect()">detect</button>
</div>
{
    name: 'Superhero'
}
 <div ng-controller="MyCtrl">
<input ng-model="model.name1" />
<input ng-model="model.name2" />
<input ng-model="model.name3" />  
<button ng-click="detect()">detect</button>