Typeahead с использованием имени объекта
Я пытаюсь настроить typeahead
с помощью AngularJS и пользовательского загрузочного файла
.html
<input type="text" ng-model="selectedStuff" typeahead="stuff.name for stuff in stuffs | filter:$viewValue"/>
<span>{{selectedStuff.name}}</span>
<span>{{selectedStuff.desc}}</span>
.js
$scope.stuffs= [
{
"name":"thing1",
"desc":"this is the first thing"
},
{
"name":"thing2",
"desc":"this is the second thing"
}
]
В настоящее время я смог обновить модель с выбранным именем, но моя цель - пройти по всему объекту через typeahead
. Есть ли чистый способ сделать это, используя только вход?
Ответы
Ответ 1
Уверенная вещь: -)
Директива typeahead из http://angular-ui.github.io/bootstrap/ использует тот же супергибкий синтаксис, что и директива select AngularJS для ng-options
. Поэтому вы можете написать:
typeahead="stuff as stuff.name for stuff in stuffs | filter:$viewValue"
Вот рабочий план: http://plnkr.co/edit/5kGZkNPZ7rIFfb4Rvxej?p=preview
Ответ 2
У меня была та же проблема. Я решил его
typeahead="country.name for country in countryList | filter:$viewValue | limitTo:8"
здесь countryList - это список объектов страны. имя - одно из свойств объекта страны. Для меня это нормально работает.