Angular动态模型命名?

Angular dynamic model naming?

我正在学习angular,所以请温柔点;)

我有一个 table,其中填充了一些数据。我想在每一列上添加过滤(不是 angular 过滤器,而是数据过滤器)。

我的想法是在 header 中每一列的顶部添加一个文本框。然后在调用 api 获取数据时,使用这些文本框值在我的服务中创建 Filters 数组。

我目前有:

<tr>
                <th ng-repeat="column in report.Columns" ng-show="column.IsVisible">
                    <span class="sort" ng-click="updateSortOrder($index)" ng-class="{'sort-asc': predicate == $index && !reverse, 'sort-desc':predicate == $index && reverse}">{{ column.DisplayName }}</span>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-filter fa-fw"></i></span>
                        <input class="form-control" type="text" placeholder="Search" ng-model="">
                    </div>
                </th>
</tr>

我坚持的是如何将文本框分配给 ng-model,根据它们所在的列动态命名它们。

我考虑过使用 ng-model="column.ColumnName" - 但不会将文本框绑定到 report.Columns.ColumnName 吗?我不想编辑它,我想在范围内为每个变量创建一个新变量。

类似于 $scope.Filters.-ColumnName-。

然后我想遍历 $scope.Filters 上的每个 ColumnName 并在我的服务调用中使用它在我的过滤器数组中的值。

我希望这是有道理的。如果我走错了路来实现这一目标,请随时为我指明正确的方向,正如我所说,我刚刚开始学习 Angular。

提前致谢

这不是 angular 具体相关,它更像是一个 javascript 问题。

对于变量 属性 的名称,您使用 [] 对象表示法

<input ng-model="filters[column]"

在控制器中:

$scope.filters ={}

如果尚未在范围对象中创建属性,ng-model 将在有任何用户输入时自动创建它们