如何在 angular ui-select-选项中重复对象属性?
How to repeat object properties in angular ui-select-choices?
我有一个对象
{
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>
这应该有效:
<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
) created 包含两个名为 key
和 value
的属性,其中 key
是初始对象的实际键,value
是键的值。此对象应该用于访问真实值。
例如,对于以下初始数据对象
{
key1: {
id: 1,
name: 'John'
},
key2: {
id: 2,
name: 'Alex'
}
}
在第一次迭代中将创建这样的对象:
{
key: 'key1',
value: {
id: 1,
name: 'John'
}
}
对于您的数据对象,将在第一次迭代 (product
) 中创建以下对象:
{
key: 'key1',
value: 'value1'
}
我有一个对象
{
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>
这应该有效:
<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
) created 包含两个名为 key
和 value
的属性,其中 key
是初始对象的实际键,value
是键的值。此对象应该用于访问真实值。
例如,对于以下初始数据对象
{
key1: {
id: 1,
name: 'John'
},
key2: {
id: 2,
name: 'Alex'
}
}
在第一次迭代中将创建这样的对象:
{
key: 'key1',
value: {
id: 1,
name: 'John'
}
}
对于您的数据对象,将在第一次迭代 (product
) 中创建以下对象:
{
key: 'key1',
value: 'value1'
}