首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >阅读select options / ng-options using angular

阅读select options / ng-options using angular
EN

Stack Overflow用户
提问于 2014-02-03 04:50:26
回答 1查看 73关注 0票数 0

给定一个select元素,我可以向其中添加一个指令:

代码语言:javascript
运行
复制
 <select ng-options="..." mydirective></select>

如何在指令中将ng-options作为对象/数组进行访问?我想通过读取select并隐藏/替换它来做一个下拉式选择。

EN

回答 1

Stack Overflow用户

发布于 2014-02-03 06:14:33

AngularJS的Select2就是这样一个实现,你可以研究一下它,找到一种方法来实现它。

请在此处查看来源:https://github.com/angular-ui/ui-select2/blob/master/src/select2.js

它所做的是在'elem‘上搜索ng-options属性,从该属性中获取对象在作用域上的名称,然后在该对象上设置一个$watch来获取数据。从那里你基本上可以做任何你想做的事情。

ng-options需要select元素,所以您不能在替换该元素的同时仍然使用ng-options。这意味着你将不得不添加你的指令作为一个属性。此外,这还意味着您必须考虑指令的优先级,这取决于您想要对数据做什么。例如,它应该在ng-options之前还是之后运行?

ng-options的源代码可以在这里找到,这可能是一个有用的研究:https://github.com/angular/angular.js/blob/6609e3da76dd898cfe85f75f23ab2e39fee65fe5/src/ng/directive/select.js#L4

考虑到所有这些,如果你不打算使用'select‘或'ng-options’的任何功能,它们最终可能会成为障碍(就像它创建一个<select>元素和<option>子元素一样)。创建您自己的'my-options‘指令可能是更好的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21516055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档