Я использую 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.
data-on-select="onSelect"
?