好的,所以我使用了Ui-Bootstrap typeahead(https://angular-ui.github.io/bootstrap/#/typeahead)。
我使用firebase数组作为数据。
当我开始输入它时,我已经得到它过滤结果,我可以点击一个。
当我点击它时,它似乎不会将所选值存储在模型中。
我做错了什么?
我只是想在选择它之后将其保存在ng-model中。
<pre>{{newLink | json}}</pre>
<input type="text" ng-model="newLink" placeholder="Search for Pages" uib-typeahead="title as page.title for page in admin.content | filter: {title: $viewValue}" typeahead-show-hint="true" class="form-control"/>
我的数据看起来像这样(缩短了)
...
{
title: 'Home',
url: 'home',
published: true,
html: ''
}
...
以下是一段简短的视频,完整地展示了我的问题:https://www.dropbox.com/s/nt2c5wxx9lbuy5v/Problem%201.mov?dl=0
更新
如果我将title as page.title for page in admin.content
上方的uib-typeahead
更改为page.title for page in admin.content
。一切都像预期的那样工作 EXCEPT ng-model只代表标题而不是数组。我真的需要firebase uid和标题。
更新2
如果我再次更改uib-typeahead
,再到page for page in admin.content
我会在ng-model中得到我想要的内容,除非将typeahead选项列为[object object]。
答案 0 :(得分:1)
根据要求,所有这些都是正确构建选择指令的问题,我们能够确定它应该是:
<input type="text"
ng-model="newLink"
placeholder="Search for Pages"
uib-typeahead="page as page.title for page in admin.content | filter: {title: $viewValue}"
typeahead-show-hint="true"
class="form-control"/>