Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何减少AngularJS调用中Firebase数据的HTML标题显示?_Javascript_Html_Angularjs_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 如何减少AngularJS调用中Firebase数据的HTML标题显示?

Javascript 如何减少AngularJS调用中Firebase数据的HTML标题显示?,javascript,html,angularjs,firebase,firebase-realtime-database,Javascript,Html,Angularjs,Firebase,Firebase Realtime Database,我有一个firebase数据库,其中包含有CourseID、部分等的课程。课程的每个条目可以有一个或多个部分。同一个courseID的不同部分可以有重复的课程(如下所示) 基本上,我希望通过组合类似的课程来减少在HTML中显示时的冗余,以避免重复标题(courseID) 当前: 我想要什么: HTML <div class="panel panel-default" ng-repeat="course in courses | orderBy:'+courseID'">

我有一个firebase数据库,其中包含有CourseID、部分等的课程。课程的每个条目可以有一个或多个部分。同一个courseID的不同部分可以有重复的课程(如下所示)

基本上,我希望通过组合类似的课程来减少在HTML中显示时的冗余,以避免重复标题(courseID)

当前

我想要什么

HTML

<div class="panel panel-default" ng-repeat="course in courses | orderBy:'+courseID'">
    ...
        <h3 class="panel-title">{{course.courseID}}</h3>
    ...
    <table class="table table-condensed table-striped sections-table">
      <tr>
        <th>Section</th>
        <th>Instructor</th>
        <th>Start</th>
        <th>End</th>
        <th>Days</th>
        <th>Grad TAs</th>
        <th>Undergrad TAs</th>
        <th>Undergrad LAs</th>
        <th>Candidates</th>
      </tr>
      <tr ng-repeat="section in course.sections">
        <td>{{section.sectionID}}</td>
        <td>{{section.instructor}}</td>
        <td>{{section.startTime}}</td>
        <td>{{section.endTime}}</td>
        <td>{{prettifyDays(section.days)}}</td>
        <td>{{section.gradTAsNeeded}}</td>
        <td>{{section.undergradTAsNeeded}}</td>
        <td>{{section.undergradLAsNeeded}}</td>
        <td ng-init="sec = section">
     ...

我无法链接到实际运行的站点,因为它包含机密的学生数据,因此如果还需要其他信息,请告诉我。

您应该能够将课程中的
课程
和课程中的
部分结合起来。控制器上的部分
组成一个键/值对--@obsidiange Hmm,我正试着思考如何让它起作用。我如何循环通过键/值对,而不每次重复标题?以后会引用每门课程,因此我需要能够继续引用每门课程的条目。我在这里想要的只是为了显示。您当前正在父DIV的
ng repeat
中的
courses
中循环。这还包括重复中的标题行。本质上,您正在寻找一种方法来组合控制器中
课程
部分
后面的“逻辑”,以便您可以在
上使用单个
ng repeat
(您当前在课程中重复
部分。部分
)。不幸的是,我不能确定您需要组合的确切逻辑,但它将使用map:
.map(函数(值,索引){})
,当然,这就是解决这个问题的方法:)@obsidiange我可以创建一个用于显示的辅助数组,并在循环过程中将原始数组中的位置增加1,以供以后参考吗?也可以基于数值索引(i=0;i)进行循环
...
$scope.courses = [];
...
firebaseService.getCourses(function(courses) {
    $scope.courses = courses;
    console.log(courses);
    $scope.$apply();
  }, function(error) {
    console.log(error);
  });