2

我有一个对象

{
    key1: value1,
    key2: value2
}

这将如何重复ui-select-choices?我尝试了一些东西,但没有任何效果

<ui-select ng-model="selectedChoice" theme="select2">
    <ui-select-match placeholder="{{'select_product' | translate}}" allow-clear="true">
        <span ng-bind="$select.selected"></span>
    </ui-select-match>
    <ui-select-choices repeat="key as (key, value) in (productList | filter: $select.search)">
        <span>{{::key}}</span>
    </ui-select-choices>
</ui-select>
4

1 回答 1

3

这应该有效:

<ui-select-choices repeat="product.key as (key, product) in productList | filter: {'value':$select.search}">
    <span ng-bind-html="product.value"></span>
</ui-select-choices>

Angular UI Select以这种方式迭代对象:在迭代每一对(key, value)而不是直接访问值期间,创建了一个对象(它product在我上面的代码中命名),它由两个名为keyand的属性组成value,其中key是初始值的实际键object,value是键的值。此对象应用于访问实际值。

例如,对于以下初始数据对象

{
    key1: {
        id: 1,
        name: 'John'
    },
    key2: {
        id: 2,
        name: 'Alex'
    }
}

在第一次迭代中,将创建这样的对象:

{
    key: 'key1',
    value: {
        id: 1,
        name: 'John'
    }
}

对于您的数据对象,将在第一次迭代 ( product) 时创建以下对象:

{
    key: 'key1',
    value: 'value1'
}
于 2016-08-19T09:22:01.953 回答