2015-11-07 2 views
-3

Не могли бы вы рассказать мне, как преобразовать приведенное ниже выражение углового выпадающего окна в массив объектов? B'cos Мне нужно использовать массив объектов вместо углового выражения с директивой drop down, упомянутой ниже. Спасибо заранее.Преобразование выражения углового (javascript) в массив объектов

a.id as a.num + ', '+ a.townName for a in vm.schoolDistricts 

Это директива: Typeahead Dropdown

+0

Внутри углового выражения вы также можете указать метод, который можно вызвать для извлечения значений. Пожалуйста, попробуйте, если это работает. – M22an

+0

@ M22an. Проблема здесь выше упомянутой директивы не принимает угловые выражения. Вот почему мне нужно преобразовать вышеуказанное выражение в массив объектов, где указанная директива может использовать его. Вот директива: https: // github.com/spongessuck/gm.typeaheadDropdown – Sampath

+0

Из документов, похоже, вам нужно добавить еще одно поле в вашей коллекции 'schoolDistricts', например' typeAheadContent', и предоставить это в 'optionlabel' в config. – M22an

ответ

0

Как @Grundy и я указал в комментариях, эта директива может принимать только любое из свойств от вашего массива. Поэтому для того, чтобы преодолеть это, вы можете включать в себя выражение, которое вы хотите

a.num + ', '+ a.townName

в каждом элементе массива.

Если текущий массив выглядит примерно так,

schoolDistrict = [{name:"ABC", value: "ABCVal", num: "123", townName: "myTown"}, ....] 

то нужно изменить что-то подобное,

schoolDistrict = [{name:"ABC", value: "ABCVal", num: "123", townName: "myTown", typeAheadLabel:"123, myTown"}, ....] 

С этим вы сможете использовать typeAheadLabel в конфигурации, как,

$scope.config = { 
     modelLabel:'districts', 
     optionLabel:'typeAheadLabel' 
    }; 

В поле зрения вы можете использовать что-то вроде:

<typeahead-dropdownng-model="vm.property.schoolDistrictId" class="form-control" 
     options="vm.schoolDistricts" config="config" required> 
<option value="" disabled="">-- Select a School District --</option> </typeahead-dropdown> 
+0

Спасибо большое. Я попробую это и дам вам знать :) – Sampath

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