假设我有一个这样的 Controller :
function MockController($scope) {
$scope.objs = [{"a": "true"},{"b": "false"}];
$scope.Value = "";
}
在 html View 中我会有类似的东西:
<select class="input-block-level" ng-model="Value"
ng-options="(obj.key, obj.value) for obj in objs" required>
但是,无论我如何尝试,angular 似乎都不喜欢元组表示法。我试过没有括号也没有骰子。是否有一种通用的方法来处理 ng-repeat 中的哈希表/字典?也就是说,假设您不知道 key 的名称,并且 key 本身应该像这样使用:
<option value={{obj.key}}>{{obj.value}}</option>
最佳答案
我认为在 ng-options
中引用未知键是不可能的。
我可能会尝试在某个地方为数据编写一个包装器,将其转换成类似的东西:
[{"key": "a", "value": "true"},
{"key": "b", "value": "false"}]
(这个问题非常有趣,我实际上已经写了一个:http://jsfiddle.net/RCU8M/ - 但是在没有 ECMAScript5 支持的浏览器中它不会工作,所以你可能想通过使用更优雅的解决方案来解决这个问题,比如 get keys of json-object in JavaScript 。)
关于javascript - 带有 ng-options 的 AngularJS DropDown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15915622/