Я использую загрузчик Typeahead с anguarJS для извлечения данных из API рельсов, проблема в том, что запрос получает данные каждый раз, когда я набираю букву на входе, я хочу выполнить и немного уменьшить количество запросов и отменить их до сделать соответствие между тем, что напечатано, и полученными данными.
вот контроллер:
getSpecificationTemplatesNames = (value) ->
dataStore.post DATASTORE_CACHE_KEY, "/specification_templates/specification_templates_names",{post: {search: value}},(data) ->
$scope.names = data.templates.names
# --- WATCHER ---
$scope.$watch 'specificationTemplate.name', (value) ->
$scope.specificationDisabledForm = !value
getSpecificationTemplatesNames(value)
и вот часть haml:
.col-md-8
%input.specification-template-name{ type: 'text', name: 'name', typeahead: 'name for name in names | filter:$viewValue | limitTo:15', typeahead_wait_ms:'2000',
ng: { model: 'specificationTemplate.name', disabled: 'contractPeriod.isArchived()' }}
В примере документа ui-bootstrap версии 0.12.1 асинхронная загрузка запускается через typeahead="address for address в getLocation($viewVlue), но они не используют наблюдатель за моделью Их метод getLocations — это мой метод getSpecificationTemplatesNames.
может ли кто-нибудь помочь выполнить это и преобразовать со мной код и правильно использовать параметр typeahead-wait-ms с помощью coffeescript!
ng-model-options="{'debounce': ...}"
? - person Jon Senchyna   schedule 13.04.2018typeahead
, а часть самогоangularJS
: docs.angularjs. org/api/ng/directive/ngModelOptions - person Jon Senchyna   schedule 13.04.2018