1

请原谅标题。我不知道如何最好地描述我正在寻找的东西。

我的 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 }
    ]
  }
]

我有一个指令遍历这个对象的父对象并绑定到里面的数据,没问题。不过,我遇到的问题是我需要将选择的 ng-options 绑定到按 ColumnName 过滤的对象。

在我的 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}}">

在每一行中,我需要将 a 的 ng-model 或 ng-optionsselect绑定到 AvailableSummaryColumns.CalculationTypes,其中 AvailableSummaryColumns.ColumnName 等于 AvailableColumns.ColumnName。

4

1 回答 1

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>
于 2016-04-01T19:03:44.237 回答