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

时间:2015-06-23 04:28:04

标签: javascript angularjs

我有一个像这样的HTML模板:

"/Users/***/Documents/apache-ant-1.9.4/bin"

这是控制器:

<div ng-controller="MyCtrl">
    <input ng-model="model.name" /> {{model.addr}}
    <button ng-click="detect()">detect</button>
</div>

模板可以由用户自定义并动态生成,而不是静态模板。我想优化从服务器返回的数据模型,只返回模板中所需字段的值。我的想法是想从模板中获取所有ng-model字段并将它们传递给服务器。返回的数据将仅包含这些字段的值,而不是整个数据模型,例如:

function MyCtrl($scope) {
    $scope.detect = function() {
        var fields = []; //['model.name', 'model.addr']
        //call server with selected fields
    }
}

如果我像这样更改模板(删除model.addr):

{
    name: 'Superhero',
    addr: 'Mars'
}

fields数组应为<div ng-controller="MyCtrl"> <input ng-model="model.name" /> <button ng-click="detect()">detect</button> </div> ,服务器返回的数据应为:

['model.name']

有什么方法可以获得范围内的所有ng-model字段? 谢谢!

1 个答案:

答案 0 :(得分:1)

你可以做一件事,无论你在哪里使用ng-modal,拿一个对象模态并使用点(。)分配值。

假设

 <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>

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