2015-03-23 2 views
1

Просто интересно, если мы сможем выполнить конкатенацию текста внутри ng-options.Как объединить строки внутри ngOptions?

<select 
     ... 
    ng-options="i.month | dnrMonthName + i.year for i in vmAdd.options.allMonths"> 
</select> 

Таким образом, чтобы получить выпадающий список, заполненный значениями, такими как:

мая 2015

Возможно ли это? Как написать ng-options?

ответ

5

Да, это возможно. Вот концептуальный пример - я уверен, что вы могли бы адаптировать его к конкретной модели объекта:

<select ng-model="selectedItem" 
     ng-options="item as (item.prop1 + ' ' + item.prop2) for item in items"> 
</select> 

EDIT: Если вам нужно дополнительно применить некоторый фильтр, вы могли бы сделать так:

ng-options="item as ((item.prop1 | uppercase) + ' ' + item.prop2) for item in items" 
+0

Я считаю, что это должно быть 'item as (item.prop1 + '' + item.prop2) ...', а не 'in'. И реальная проблема заключается в том, что я хочу добавить фильтр в одно из значений. Подобно 'item as (item.month | monthName + '' + item.year) ...' Как мы можем использовать угловой фильтр? – Blaise

+0

@Blaise, right - typo - fixed –

+0

@Blaise, добавлена ​​опция фильтра –

Смежные вопросы