我正在尝试像这样typeahead使用AngularJS和UI Bootstrap设置:
typeahead
.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。有一种干净的方法可以仅使用输入来执行此操作吗?
当然可以:-)
从预输入指令http://angular-ui.github.io/bootstrap/使用作为AngularJS相同的超灵活的语法选择指令进行ng- options。所以你可以这样写:
ng- options
typeahead="stuff as stuff.name for stuff in stuffs | filter:$viewValue"
这是一个工作的小伙伴:http ://plnkr.co/edit/5kGZkNPZ7rIFfb4Rvxej? p= preview