AngularStrap typeahead, как использовать обратные вызовы событий

0

Я использую AngularStrap typeahead и нуждаюсь в обратном вызове, когда элементы выбираются пользователем. Согласно документации, имеется опция onSelect, которая может быть снабжена function, и:

Если это предусмотрено, эта функция будет вызываться при выборе элемента.

… а также …

Параметры могут передаваться через data- атрибуты в директиве или в качестве хеша объекта для настройки службы. Для атрибутов данных добавьте имя параметра в data-, как в data- animation = "".

Поэтому я попытался использовать его следующим образом:

<input type="text" 
       class="form-control" 
       ng-model="selection" 
       bs-options="item for item in items" 
       bs-typeahead 
       data-on-select="onSelect">

И предоставить метод onSelect() в моем контроллере:

$scope.onSelect = function() {
    console.log('this never gets called :(');
};

Однако обратный вызов никогда не вызывается. Что-нибудь мне здесь не хватает?


[edit] dfsq указал, что он должен быть bs-on-select, относящийся к источникам библиотек. Я просто пробовал этот вариант, однако событие запускается только один раз. Я создал этот Plunker, чтобы проиллюстрировать мою проблему; "Количество событий выбора", естественно, должно увеличиваться с каждым выбором, однако оно остается равным 1.

  • 0
    Вы передаете имя функции, а не вызов этой функции .... используйте "onSelect"
  • 1
    Вы пробовали data-on-select="onSelect" ?
Показать ещё 3 комментария
Теги:
angular-strap

1 ответ

1
Лучший ответ

Похоже, на это был дан ответ в комментариях @Vanojx1 и что это должно быть:

bs-on-select="onSelect"

Я обновил Plunker с этим изменением, и он работает (однако он не вызывает метод, пока вход не теряет фокус).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню