请原谅标题。我无法弄清楚如何最好地描述我正在寻找的东西。
我的JSON看起来像这样:
AvailableColumns: [
{ ColumnName: "CustomerNumber", ... },
{ ColumnName: "CustomerFirstName", ... }
],
AvailableSummaryColumns: [
{
ColumnName: "CustomerNumber",
CalculationTypes: [
{ label: "Count", id: 1 },
{ label: "Count Distinct", id: 2 }
]
},
{
ColumnName: "CustomerFirstName",
CalculationTypes: [
{ label: "Count", id: 1 },
{ label: "Count Distinct", id: 2 }
]
}
]
我有一个指令遍历此对象的父级并绑定到里面的数据,没问题。但是,我遇到的问题是我需要通过ColumnName将select的ng-options绑定到过滤的对象。
在我的ng-repeat中,我正在为每列渲染一个包含CalculationTypes的选择。我需要将ng-options设置为每个CalculationTypes,其中AvailableSummaryColumns.ColumnName等于ng-repeat中当前AvailableColumns对象的ColumnName。
我已经尝试过我所知道的所有尝试,但是不能正确地约束它。实现这一目标的最佳方法是什么?
NG-重复:
<tr ng-repeat="column in AvailableColumns track by $index | orderBy: 'ColumnOrder'" data-column-name="{{column.ColumnName}}" data-ref="{{$index}}">
在每一行中,我需要将select
的ng-model或ng-options绑定到AvailableSummaryColumns.CalculationTypes,其中AvailableSummaryColumns.ColumnName等于AvailableColumns.ColumnName。
答案 0 :(得分:1)
试试这个:
<tr ng-repeat="column in AvailableColumns track by $index | orderBy: 'ColumnOrder'" data-column-name="{{column.ColumnName}}" data-ref="{{$index}}">
<td><div ng-repeat="sumary in AvailableSummaryColumns track by $index">
<div ng-if="sumary.ColumnName === column.ColumnName">
<select ng-options="type.label for type in AvailableSummaryColumns. CalculationTypes"></select>
</div>
</div>
</td>
</tr>