我正在尝试使用AngularJS&设置typeahead
UI Bootstrap喜欢这样:
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
传递整个对象。有没有一种干净的方法只使用输入?
答案 0 :(得分:26)
当然可以: - )
来自http://angular-ui.github.io/bootstrap/的typeahead指令使用与ng-options
的AngularJS select directive相同的超灵活语法。所以你可以写:
typeahead="stuff as stuff.name for stuff in stuffs | filter:$viewValue"
这是一个有效的插件:http://plnkr.co/edit/5kGZkNPZ7rIFfb4Rvxej?p=preview
答案 1 :(得分:0)
我遇到了同样的问题。
我解决了这个问题typeahead="country.name for country in countryList | filter:$viewValue | limitTo:8"
here countryList是国家/地区对象的列表。 name是country对象的属性之一。对我来说它工作正常。