UI 引导程序的预类型拒绝遍历对象



根据官方ui bootstrap上的文档,typeahead指令"使用与select指令相同的灵活语法"

但不幸的是,typeahead指令似乎拒绝使用以下select 支持的语法列表来遍历对象源

for object data sources:
label for (key , value) in object
select as label for (key , value) in object
label group by group for (key, value) in object
select as label group by group for (key, value) in object

我认为UI引导程序的ui-bootstrap-tpls-0.4.0.js需要进行编辑(在2749行附近的某个地方),以允许的这种功能

因此,我的问题是实现该功能的角度和ui引导友好的方法是什么(我可以通过用更友好的对象替换.length来实现,但我想有比我所能提供的更好的方法来支持select对象数据源语法)

谢谢你,

实际上http://angular-ui.github.io/bootstrap/仅适用于作为数组的源,因此无法对对象进行迭代。我在文档中打开了一个问题来澄清这一点:
https://github.com/angular-ui/bootstrap/issues/715

罪魁祸首是这段代码,真的:https://github.com/angular-ui/bootstrap/blob/master/src/typeahead/typeahead.js#L109-L115

虽然将其切换到angular.forEach会使情况变得更好,但主要问题是内置的AngularJS过滤器无法在对象上工作。。。因此,您还必须编写自己的匹配逻辑。这就是为什么我决定放弃对(key, value)语法的支持。

当前您的最佳选择是将对象转换为数组

因此,我将更新文档,明确哪些支持,哪些不支持。但如果你能在这里看到一个完美的解决方案,请随时发送拉取请求!

最新更新