Angular Bootstrap Type Ahead带有typeahead语法的问题

时间:2014-02-14 19:53:55

标签: angularjs angular-ui-bootstrap typeahead

我一直在使用类型提前指令,它一直很好用: http://angular-ui.github.io/bootstrap/#/typeahead

我的问题是,我已经离开了我正在使用整个对象的场景:

<input type="text" ng-model="MyPerson" typeahead="i as i.Name for i in PeopleSearch($viewValue)" />

对于我只想要部分对象的场景:

<input type="text" ng-model="MyPerson" typeahead="i.Id as i.Name for i in PeopleSearch($viewValue)" />

此时,无论为“as”输入什么,模型和文本框都将包含相同的内容。任何人都可以解释为什么会这样吗?似乎逻辑应该模仿ng-options的表达式,但显然情况并非如此。

以下是演示:http://plnkr.co/edit/5oqlldC3PltnrynqhnAU?p=preview

选择项目后,文本框应包含此人的姓名。

1 个答案:

答案 0 :(得分:3)

以下是我的决议,以防其他人遇到此问题:

<input type="text" ng-model="MySelectedPerson" typeahead="i as i.Name for i in PeopleSearch($viewValue)" typeahead-on-select="MyPerson = MySelectedPerson.Id" />