繁体   English   中英

带有ng-options的AngularJS DropDown

[英]AngularJS DropDown with ng-options

假设我有一个像这样的控制器:

function MockController($scope) {
$scope.objs = [{"a": "true"},{"b": "false"}];
$scope.Value = "";
}

在html视图中我有类似的东西:

  <select class="input-block-level" ng-model="Value" 
  ng-options="(obj.key, obj.value) for obj in objs" required>

但是,无论我如何尝试,角度似乎都不像元组符号。 我试过没有父母,没有骰子。 是否有一种通用的方法来处理ng-repeat中的哈希表/字典? 也就是说,假设您不知道密钥的名称,并且它们的密钥本身应该像这样使用:

<option value={{obj.key}}>{{obj.value}}</option>

我认为在ng-options引用未知密钥是不可能的。

我可能会尝试在此过程中的某处编写数据包装器,将其转换为:

[{"key": "a", "value": "true"},
 {"key": "b", "value": "false"}]

(问题非常有趣,我实际上已经编写了一个: http//jsfiddle.net/RCU8M/ - 但是在没有ECMAScript5支持的浏览器中这不起作用,因此您可能希望通过使用更优雅的解决方案来解决这个问题,就像在JavaScript获取json-object的键一样。)

不是吗

<select ... ng-options="(key, value) in objs" ...>

这应该像这样使用:

<select>
<option ng-repeat="objin objs" value="{{obj.key}}">{{obj.value}}</option>
</select>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM