使用过滤器对阵列进行AngularJS ng-repeat

时间:2016-04-10 14:48:51

标签: arrays angularjs filter properties ng-repeat

我有一个对象(让我们称之为'元素')就像这个

[
{name: 'name1', columns: ['col1', 'col2', 'col3']},
{name: 'name2', columns: ['col4', 'col5', 'col6']},
{name: 'name3', columns: ['col7', 'col8', 'col9']},
]

我想使用名称

过滤的对象的columns属性中的数据构建一个角度选择对象
      <md-select
        name="selectedColumn"
        ng-model="selectedColumn"
        required
        placeholder="Column"
        ng-model-options="{trackBy: '$value._id'}">
        <md-option ng-repeat="elt in elements | filter: {name: selectedElt} " ng-value= "{{ elt }}" >
          <span class="item-title">
            <span>{{elt}}</span>
          </span>
        </md-option>
      </md-select>

问题是我得到了完整的对象,我不知道如何设置过滤器仅循环遍历列属性。 例如,如果我为selectedElt(它是另一个选择元素)选择'name2',我希望我的对象'selectedColumn'用'col4','col5'和'col6'刷新

谢谢

1 个答案:

答案 0 :(得分:0)

在控制器中设置变量,如$ scope.mySelectedElt,当您选择name2时,将该变量设置为具有ng-change的元素对象。然后在你的另一个select元素(selectedElt,你说它是)对列中的列进行ng-repeat。