Cam*_*nge 39 javascript angularjs angularjs-orderby
我正在尝试使用ng-repeat和字典样式语法并对键值应用顺序.
(key, value) in something | orderBy:'key'
似乎OrderBy没有按预期工作
Mar*_*cok 19
orderBy的参数必须与对象数组中的属性名称匹配.
您的数据需要看起来像这样:
$scope.list2 = [ { id:"2013-01-08T00:00:00", name:'Joe'},
{ id:"2013-01-09T00:00:00", name:'Sue'}];
Run Code Online (Sandbox Code Playgroud)
然后像这样的过滤器将起作用:
<div ng-repeat="item in list2 | orderBy:'id':true">
Run Code Online (Sandbox Code Playgroud)
小提琴.
请注意,orderBy适用于整个数组(something
在上面的示例代码中),它返回一个已排序的数组.orderBy什么都不知道key
和value
.
ako*_*nsu 11
这没有实现.请看这里:
https://github.com/angular/angular.js/issues/1286
编辑(2013年8月27日):这个问题现在似乎已经解决了.
我创建了一个自定义过滤器,以使选择列表成为可能:
.filter('toDictionaryArray', function () {
return function (obj) {
if (!(obj instanceof Object)) return obj;
var arr = [];
for (var key in obj) {
arr.push({ key: key, value: obj[key] });
}
return arr;
}
})
Run Code Online (Sandbox Code Playgroud)
选择列表ng-options然后如下所示:
<select ng-options="kv.key as kv.value for kv in p.options | toDictionaryArray | orderBy:'value'"></select>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28881 次 |
最近记录: |