【发布时间】:2016-09-09 14:56:09
【问题描述】:
我正在构建一个呈现表格的角度组件,但我遇到了排序功能的一些问题。本例中的作用域如下所示:
$scope.listState = {
sortBy: '<string>',
sortReverse: <bool>,
headings: {...},
list: [
{
rowCols: {
user: 'timfranks@gmail.com',
name: 'Tim Franks',
since: '11/6/12'
}
rowState: {...}
},
{
{
user: 'albertjohns@sbcglobal.net',
name: 'Alber Johns',
since: '11/12/13'
},
rowState: {...}
},
{
{
user: 'johnsmith@sine.com',
name: 'John Smith',
since: '7/28/14'
},
rowState: {...}
}
]
};
我最初尝试通过以下方式对列表进行排序:
ng-repeat="row in $ctrl.list | orderBy:$ctrl.listState.sortBy:$ctrl.listState.sortReverse"
这不起作用,尽管在使用调试器进行跟踪时,我发现 orderBy 实际上得到了正确的参数并返回了正确排序的列表。可以肯定的是,我将代码更改为在我的控制器中使用 orderBy,如下所示:
this.listState.list = _this.orderBy(listState.list, 'rowCols.' + listState.sortBy, listState.sortReverse);
这是第一次工作(在构造函数中调用),但随后停止工作。我很确定这是我不完全理解的 Angular 范围的某些方面。任何帮助将不胜感激。
【问题讨论】:
-
抱歉,您能具体说明一下您想要完成的工作吗?
标签: javascript angularjs angularjs-scope angularjs-orderby