Как @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>
Внутри углового выражения вы также можете указать метод, который можно вызвать для извлечения значений. Пожалуйста, попробуйте, если это работает. – M22an
@ M22an. Проблема здесь выше упомянутой директивы не принимает угловые выражения. Вот почему мне нужно преобразовать вышеуказанное выражение в массив объектов, где указанная директива может использовать его. Вот директива: https: // github.com/spongessuck/gm.typeaheadDropdown – Sampath
Из документов, похоже, вам нужно добавить еще одно поле в вашей коллекции 'schoolDistricts', например' typeAheadContent', и предоставить это в 'optionlabel' в config. – M22an