Несколько почтовых индексов из службы геокодирования в Angular ui-select

У меня есть пользовательский интерфейс, в который, когда вы вводите почтовый индекс, он предоставляет список адресов (почтовый индекс, город, страна), которые вы можете выбрать, и когда вы выбираете один, он добавляет его в поле ввода ui-select . У меня есть настройка ui-select как несколько.

Почтовые индексы поступают из службы Angular Geocoding, где вы просто вызываете маршрут с параметрами (будучи почтовым индексом и страной, которая всегда является США), и он возвращает обратно идентификатор и текстовое предложение местоположения, которое почтовый индекс, город и страна, разделенные запятыми

Мой вопрос заключается в следующем: когда я добавляю адреса из раскрывающегося списка в поле ввода ui-select, как мне получить доступ к этим значениям из контроллера.

Вот мой код выбора пользовательского интерфейса:

<ui-select ng-model="area.location" multiple theme="bootstrap" ng-disabled="disabled">
    <ui-select-match placeholder="Enter a postal code..." ng-model="code">{{$item.text}}</ui-select-match>
    <ui-select-choices repeat="address in addresses | filter: $select.search" refresh="getSearchLocation($select.search)" refresh-delay="0">
            <div ng-bind-html="address.text | highlight: $select.search"></div>
    </ui-select-choices>
</ui-select>

Функция getSeachLocation($select.search) — это то, что извлекает информацию о почтовом индексе.

Я надеюсь, что этого кода достаточно; если мне нужно добавить больше, дайте мне знать.

Я просто не могу получить доступ к любым значениям, которые я добавляю в ui-select в контроллере.

Надеюсь, все это имело смысл, спасибо!


person Lushmoney    schedule 07.09.2017    source источник
comment
Можете ли вы предоставить образцы данных для работы? если можно возиться с проблемой?   -  person Naren Murali    schedule 07.09.2017
comment
Я думаю, что это был бы огромный объем кода, так как это для моего рабочего приложения, и есть так много зависимостей и вещей, которые поддерживают друг друга. В основном я ищу, как получить доступ к значениям ui-select в контроллере. Я могу попробовать сделать скрипку, но это может занять очень много времени...   -  person Lushmoney    schedule 07.09.2017
comment
Я понимаю! Нет проблем!   -  person Naren Murali    schedule 07.09.2017
comment
Разве $scope.area.location уже не содержит то, что вам нужно?   -  person Naren Murali    schedule 07.09.2017
comment
Я бы тоже так подумал, но это не так - $scope.area.location по какой-то причине просто пустой массив...   -  person Lushmoney    schedule 07.09.2017


Ответы (1)


Вы можете получить к ним доступ в любое время после выбора в контроллере, используя ng-модель ui-select, которая представляет собой массив ваших значений/структур, которые вы назначили для ui-select-choices.

Например, я обращаюсь к своим выбранным элементам, таким как var selected = $scope.placesModel.selected[n] (помните, это массив для множественного выбора). Значение в этом индексе — это то, что вы присвоили вариантам. В моем случае это простой объект json, поэтому я могу получить доступ к свойствам объекта, таким как selected.id.

person Shovas    schedule 05.03.2018