我是Angular的新手,想学习处理问题的最佳方法。 我想在我的第一个ng-repeat中按多个列分组访问密钥。
borderImage
我的JSON数据如下:
$image = new Imagick();
$image->readImage('tux.png');
$image->borderImage(new ImagickPixel('red'), 5, 5); // no outline
我希望按多列列出数据组,即“课程”,“模块”,“主题”,“toc”,“章节”
提前致谢:)
答案 0 :(得分:0)
最有效的排序方法我通常会将您的列放在数组中,并在数据中添加指定键
$scope.cols = [
{
"name": "Course",
"key": "course"
},
{
"name": "Module",
"key": "module"
},
{
"name": "Subject"
"key": "subject"
},
{
"name": "Toc",
"key": "toc"
},
{
"name": "Chapter",
"key": "chapter"
},
{
"name": "Activity Done",
"key": ""
},
{
"name": "Start",
"key": "start"
},
{
"name": "End",
"key": "end"
},
{
"name": "Time Spent",
"key": "timespent"
}
];
然后在模板中循环并添加ng-click
<tr ng-repeat="col in cols" ng-click="onHeadingClicked(col)">
{{col.name}}
</tr>
然后创建用于对数据进行排序的onHeadingClicked()
函数。
$scope.onHeadingClicked = function (col) {
var sorted = [];
angular.forEach(sessions, function (col) {
// Sorting algorithm here
});
$scope.sessions = sorted;
};
由于性能原因,我不使用过滤器,每次都会运行过滤器,因此执行该功能很多次,所以将它放在那里并不是一个好主意。只有在完成简单的显示操作时才使用过滤器。
希望这有帮助