Angularjs 如果要显示默认值,则为ng

Angularjs 如果要显示默认值,则为ng,angularjs,angularjs-ng-repeat,angular-ng-if,Angularjs,Angularjs Ng Repeat,Angular Ng If,我的数据结构如下: $scope.classes = [ {Dept:'Science', Class:'101'}, {Dept:'Science', Class:'102'}, {Dept:'Science', Class:'103'}, {Dept:'Arts', Class:'111'}, {Dept:'Arts', Class:'112'}, {Dept:'Arts', Class:'113'}]; $scope

我的数据结构如下:

$scope.classes = [
      {Dept:'Science', Class:'101'},
      {Dept:'Science', Class:'102'},
      {Dept:'Science', Class:'103'},
      {Dept:'Arts', Class:'111'},
      {Dept:'Arts', Class:'112'},
      {Dept:'Arts', Class:'113'}];

$scope.professors = [
      {Dept:'Science', Class:null, Name:'John Smith'},
      {Dept:'Science', Class:'101', Name:'Eric Doe'},
      {Dept:'Arts', Class:null, Name:'Mary Smith'},
      {Dept:'Arts', Class:'111', Name:'Frank Moore'}
    ]
Dept:Science   Dept:Science   Dept:Science   Dept:Arts   Dept:Arts   Dept:Arts
Class:101      Class:102      Class:103      Class:111   Class:112   Class:113

John Smith     John Smith     John Smith     Mary Smith  Mary Smith  Mary Smith
Eric Doe                                     Frank Moore
当系和班都匹配时,我想显示教授的名字。如果不是,则显示该系教授的姓名(Class=null)

但是,我的结果如下所示:

$scope.classes = [
      {Dept:'Science', Class:'101'},
      {Dept:'Science', Class:'102'},
      {Dept:'Science', Class:'103'},
      {Dept:'Arts', Class:'111'},
      {Dept:'Arts', Class:'112'},
      {Dept:'Arts', Class:'113'}];

$scope.professors = [
      {Dept:'Science', Class:null, Name:'John Smith'},
      {Dept:'Science', Class:'101', Name:'Eric Doe'},
      {Dept:'Arts', Class:null, Name:'Mary Smith'},
      {Dept:'Arts', Class:'111', Name:'Frank Moore'}
    ]
Dept:Science   Dept:Science   Dept:Science   Dept:Arts   Dept:Arts   Dept:Arts
Class:101      Class:102      Class:103      Class:111   Class:112   Class:113

John Smith     John Smith     John Smith     Mary Smith  Mary Smith  Mary Smith
Eric Doe                                     Frank Moore
如何使结果看起来像:

Dept:Science  Dept:Science  Dept:Science  Dept:Arts   Dept:Arts   Dept:Arts
Class:101     Class:102     Class:103     Class:111   Class:112   Class:113

Eric Doe      John Smith    John Smith    Frank Moore Mary Smith  Mary Smith  

这是我对@water42的赞扬,因为它为可能的解决方案提供了想法

我试过了,效果很好

函数TodoCtrl($scope){ $scope.classes=[ {系:'Science',班:'101'}, {系:'Science',班:'102'}, {系:'Science',班:'103'}, {系:'Arts',班:'111'}, {系:'Arts',班:'112'}, {系:'Arts',班:'113'}]; $scope.professors=[ {Dept:'Science',Class:null,Name:'John Smith'}, {系:'Science',班:'101',名:'Eric Doe'}, {Dept:'Arts',Class:null,Name:'Mary Smith'}, {系:'Arts',班:'111',名:'Frank Moore'} ]; $scope.classes=$scope.classes.map(函数(roomClass){ var professor\u count=$scope.professors.filter(函数(professor){ return professor.Class==roomClass.Class; }); roomClass.hasProfessor=professor\u count.length>0; 返回舱; }); log($scope.classes); }

部门:{class.Dept}}
类:{Class.Class} {{prof.Name} {{prof.Name}
感谢@water42为可能的解决方案提供了想法

我试过了,效果很好

函数TodoCtrl($scope){ $scope.classes=[ {系:'Science',班:'101'}, {系:'Science',班:'102'}, {系:'Science',班:'103'}, {系:'Arts',班:'111'}, {系:'Arts',班:'112'}, {系:'Arts',班:'113'}]; $scope.professors=[ {Dept:'Science',Class:null,Name:'John Smith'}, {系:'Science',班:'101',名:'Eric Doe'}, {Dept:'Arts',Class:null,Name:'Mary Smith'}, {系:'Arts',班:'111',名:'Frank Moore'} ]; $scope.classes=$scope.classes.map(函数(roomClass){ var professor\u count=$scope.professors.filter(函数(professor){ return professor.Class==roomClass.Class; }); roomClass.hasProfessor=professor\u count.length>0; 返回舱; }); log($scope.classes); }

部门:{class.Dept}}
类:{Class.Class} {{prof.Name} {{prof.Name}
water42,我要做的是,当教授的系名和班级名与班级集合中的名称匹配时,显示正确的教授名。当只有系名匹配时显示默认教授名(类名=null)。
water42,我要做的是当他/她的系名和类名都与类集合中的系名和类名匹配时显示正确的教授名。并在只有系名匹配时显示默认教授名(类名=null)。