问题标签 [angular-ui-typeahead]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
13569 浏览

angularjs - angular-ui typeahead 选择 id 而不是对象

我试图在预输入中设置一个 id 而不是一个对象,它不像选择元素那样工作。

这是一个示例,您可以在预输入中写入正确的单词,然后更新选择元素,但是如果您更改选择,预输入不会更新名称,而是更新 id。

http://plnkr.co/edit/LJqdebViiucCv6X5hhtf?p=preview

我做错了什么?

0 投票
2 回答
7635 浏览

jquery - AngularJS / Typeahead - 延迟调用 $scope 方法

我从这里有以下输入字段代码片段我正在$scope以下列方式调用 AngularJS 方法

因此,当我在文本字段中输入至少 3 个字符时,它会触发 AJAX 调用以调用retrievePartnerList函数。

我的服务器响应也很慢,所以对于 10 个字符,有 7 个 Ajax 调用进入队列,一段时间后我收到了 TimeOutError。

所以为了解决这个问题,我试图找到一种方法来延迟对retrievePartnerList()方法的调用,以便发送更少的 AJAX 调用,并可能减轻我的服务器的负担。

所以我不确定如何setTimeout()在这里使用函数。

让我知道你们中是否有人对此有任何想法。

0 投票
2 回答
13365 浏览

javascript - 使用 angular-ui 引导程序和预加载

所以我似乎无法弄清楚如何使用 typeahead-loading 属性来显示微调器,而我的 typeahead 正在获取远程数据。我在任何地方都找不到任何使用它的例子。

当我们开始请求时,我们需要在范围内手动设置该值吗?然后在请求完成时手动将其设置为false?有时这些棱角分明的东西有魔力,我永远不确定后端是否发生了额外的事情来处理其中一些事情。

只是一个简单的例子来说明如何在 typeahead-loading 中使用该值会很好。我只是想不出如何正确使用它。当然,许多 Angular 文档都缺少一些更复杂功能的好例子。

0 投票
6 回答
37234 浏览

angularjs - Angular-UI typeahead:显示标签但仅绑定到值

我通过以下方式使用 Angular-UI typeahead:

绑定到如下模型:

它正确显示选项文本,但是当我选择一个项目时,它会在文本框中显示值。模型仅与值正确绑定(而不是整个模型对象)。

是否可以在选择后在文本框中显示“文本”(不是“值”),仍然保持模型绑定到值(即:当我选择某个“文本”时,模型会更新为“值” )?

0 投票
5 回答
5441 浏览

angularjs - 如何使用最新的 $resource 填充 Angular UI Bootstrap Typeahead

根据这个Paweł Kozłowski 的回答,AngularUI-Bootstrap 的 Typeahead 在使用最新 Angular 版本(我使用的是 1.2.X)异步获取带有 $resource 的弹出项目时应该可以工作。

Plunk - Paweł 的版本 - Typeahead with $http

我想我不知道如何正确使用它(结果我在typeaheadHighlight指令的代码中收到错误 - typeahead 将立即返回Resource的 s 视为字符串和轮胎以突出显示它们)。

Plunk - 使用 $resource 预先输入

我认为关键代码是:

我已经尝试了很多东西 - 返回$promise(来自 Plunker 的版本)query(),,,then()
目前,我$http在我的应用程序中使用了这个功能,我没问题。不过,只是想知道如何使用$resource.

您可能想看看这个:https
://github.com/angular/angular.js/commit/05772e15fbecfdc63d4977e2e8839d8b95d6a92d 是否ui.bootstrap.typeahead与 $resource 的 promise API 中的这些更改兼容?

0 投票
2 回答
655 浏览

angularjs - 包装 angular-ui-typeahead 会破坏 on-select 回调

我正在尝试用我自己的指令包装 AngularUI 的 typeahead指令,以便我可以打包一些共享数据/行为以便在我的应用程序中更轻松地重用:Plunker

onSelect回调中,为什么只有超时后才显示正确的值?

作为参考,这在没有包装指令的情况下可以正常工作:Plunker

0 投票
1 回答
3574 浏览

angularjs - 在单独的指令中包装 angular typeAhead

我的目标是将 angular-ui typeAhead 指令包装到易于重用的组件中,可以像这样使用:

我通过编写自定义指令并为预先输入指定静态模板来实现这一点。这是Plunker

现在,我想动态构建这个模板,然后编译它:

不幸的是,这种方法不起作用Plunker

谁能告诉我我做错了什么?

0 投票
1 回答
1911 浏览

javascript - Angular ui typeahead from a array of objects - 如何获取选择值

我正在使用 typeahead angular bootstrap 这是一个非常简洁的指令,但是在将它与对象数组一起使用时我遇到了获取选择值的困难(需要自定义模板)。我无法获得预先输入的选择值(它显示正确,但作为 [object object] 传递给目标控制器。

这是表格:

和(相关)控制器:

总结我的问题:

我从预先输入的选择列表中得到了一个显示的值(并且得到了一个正确的值),它似乎没有正确更新模型(search.term),我在那里得到了一些 [object object] 结果。如果我在输入字段中手动输入一个值并提交,我会得到一个正确的值(以及状态转换等)

让事情变得更复杂一些,列表包含不同类型的对象,所以我用函数/过滤器处理一些关于对象的逻辑,不能只抓取一个字段

谢谢您的帮助!

0 投票
1 回答
3186 浏览

javascript - AngularJS Bootstrap UI TypeAhead on-select 不更新 ng-switch

我对 Angular 有点陌生,想知道为什么在使用 Angular Bootstrap UI 的 Typeahead 时,我无法更新 ng-switch。

本质上,我要做的是根据列表中的选择更新视图。

这工作得很好,并且 onSelect 函数也工作得很好:

如果我将 $scope.$watch 放在“状态”上,那么我会看到它正在更新。但是,视图不会更新。

如果我只是单击 ng-click 来更新状态,那么一切正常。

任何想法将不胜感激。

0 投票
2 回答
2062 浏览

angularjs - angular-bootstrap 中的 Typeahead 插件对我不起作用

我无法在 angular-bootstrap 中获得 typeahead 功能以在简单的 yeoman 生成的环境中工作。我期望的是能够开始在输入字段中输入内容,并在下拉列表中显示与输入字段中输入的字符匹配的内容。要匹配的项目集是 ['alpha', 'beta', 'gamma', 'delta'] 但如果我输入 a,则不会显示任何内容,但它们应该都显示出来,因为 a 对所有人都是通用的。感谢任何帮助。

以下是我设置测试应用程序所采取的步骤:

编辑 app/views/main.html (片段):

编辑 app/scripts/controllers/main.js:

非常感谢。

编辑:忘记依赖 [ui-bootstrap]。这可能是我的问题的解决方案,但我无法添加它。Firebug 抱怨它找不到 ui-bootstrap。我还尝试了 [bower_components/angular-bootstrap/ui-bootstrap] 和 [bower_components/angular_bootstrap]。虽然已经很晚了,所以我必须在早上再去取它。

编辑 2:遵循 vucalur 的添加 angular-ui-bootstrap 的建议。这在 bower_components/angular-ui-bootstrap 下添加了一个模板文件夹

进行了此更改:[ui-bootstrap] -> ['ui-bootstrap']。没有页面显示,Firebug 的错误是:

[$injector:modulerr] 无法实例化模块 ui-bootstrap,原因是:[$injector:nomod] 模块 'ui-bootstrap' 不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

编辑 3:通过重新运行 yo 和 bower 进行重构(使用 bower 尝试添加 --save 开关)。结果相同。就像缺少一个类路径一样的东西,它不允许我引用 bower_components 中的依赖项。