我正在尝试在Angular中使用嵌套的groupBy。无论出于何种原因(我都无法弄清楚原因),“正常”(键,值)方法对我不起作用。该页面始终为空白。我能够通过QuestionClusterID对其进行分组的唯一方法如下。以下是Plunker我试图让它与章节一起使用的方法。
在我的控制器中:
$scope.questionsToFilter = function () {
indexedQuestions = [];
return $scope.questions;
}
$scope.filterQuestions = function (question) {
var questionIsNew = indexedQuestions.indexOf(question.QuestionClusterID) == -1;
if (questionIsNew) {
indexedQuestions.push(question.QuestionClusterID);
}
return questionIsNew;
}
在我的HTML中:
<div ng-repeat="cluster in questionsToFilter() | filter:filterQuestions">
<div class="panel panel-default">
<div class="panel-body">
@*Question Section*@
<div ng-repeat="q in questions | filter:{QuestionClusterID: cluster.QuestionClusterID}">
上述方法效果很好。现在的问题是我必须添加另一个分组级别,我似乎无法弄清楚如何做到这一点。我需要groupBy QuestionSectionID然后是QuestionClusterID。
我尝试编写类似的函数来获取这些部分:
$scope.filterSections = function (section) {
var sectionIsNew = indexedSections.indexOf(section.QuestionSectionID) == -1;
if (sectionIsNew) {
indexedSections.push(section.QuestionSectionID);
}
return sectionIsNew;
}
$scope.sectionsToFilter = function () {
indexedSections = [];
return $scope.editablequestions;
}
这可以用来拉出章节,我无法弄清楚如何将集群“推”到每个部分。非常感谢任何帮助!