В настоящее время я использую директиву ngTagsInput для моей строки поиска. Тем не менее, у меня возникли проблемы с поиском путей для устранения результатов по выбору или предотвращения отображения тегов в панели поиска.
Это то, что я сейчас имею:
И это то, что я пытаюсь получить:
Я попытался написать директиву для обнаружения нажатия клавиши ввода, а затем использовать myEnter = $ ('tags-item'). Remove(), чтобы попытаться удалить элемент при его создании, но не только это не сработало, но и не идеально:
app.directive('myEnter', function () {
return function (scope, element, attrs) {
element.bind("keydown keypress", function (event) {
if(event.which === 13) {
scope.$apply(function (){
scope.$eval(attrs.myEnter);
});
event.preventDefault();
}
});
};
});
Я не знаю, почему вы используете этот компонент, пока вы действительно не хотите тегов.
так или иначе, вам не нужна эта настраиваемая директива. on-tag-added может в значительной степени покрыть все, что вам нужно.
т.е. добавить, добавить
on-tag-added="tagAdded($tag)"
в контроллере
$scope.tagAdded = function(tag) {
//just do whatever you want on tag added,
//i.e. clear the ngmodel and add it to another array, etc.
};