【问题标题】:Binding select on filtered model在过滤模型上绑定选择
【发布时间】:2016-04-01 16:57:30
【问题描述】:

请原谅标题。我不知道如何最好地描述我在寻找什么。

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

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

【问题讨论】:

  • 请提供 ng-repeat 代码和 ng-options
  • @GonzaloPincheiraArancibia 我已经更详细地编辑了我的问题

标签: angularjs angularjs-directive angularjs-ng-repeat angularjs-filter angularjs-bindings


【解决方案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>

【讨论】:

  • 以此为指导,我能够修改您的代码以提供我正在寻找的选项。谢谢!
猜你喜欢
  • 1970-01-01
  • 2020-12-07
  • 2016-03-30
  • 2011-11-25
  • 2018-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-14
相关资源
最近更新 更多