Javascript AngularJS-查找当前范围内的所有ngModel
我有这样一个HTML模板: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模型字段,
<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>