通过id进行Angularjs ng-repeat过滤

嗨,我在mysql中有2个表,我用php(mysqli)调用数据,所以我把这些数据放在javascript var中,带有$scope.student= ;$scope.ratings= ; 2个表有一个密钥ID(ID_studen)

第一个表只有个人数据,第二个表有数据,所以我需要过滤并在这里通过评级显示所有细节代码:

 
  • {{rating.note}}

检查jsfiddle.net

您可以使用$ filter,请参阅下面的演示

 app = angular.module("app", []); app.controller("Ctrl", Ctrl); function Ctrl($scope) { $scope.students = [{ firstname: 'Buster', lastname: 'Bluth', tagid: '4134' }, { firstname: 'John', lastname: 'McClane', tagid: '9845' }, { firstname: 'Mister', lastname: 'Spock', tagid: '0905' }]; $scope.ratings = [{ matter: 'Mathematics', note: '12', tagid: '4134' }, { matter: 'Biology', note: '13', tagid: '9845' }, { matter: 'Lenguage:', note: '14', tagid: '0905' }]; } 
  
  • {{student.firstname}} {{student.lastname}} | {{rating.matter}} {{rating.tagid}}
 
  • {{rating.note}}

以下是对属性进行内联过滤的实际方法:

 
  • {{rating.note}}
  • 但是请注意,预过滤结果列表会更加高效,因此在您的控制器中可以放置

     $scope.filteredRatings = $scope.ratings.filter(function(r) { return r.tagid === $scope.student.tagid; }); 

    所以你的HTML只会是:

     
  • {{rating.note}}
  • 最后,我对php不太满意,但这听起来像是填充模型的奇怪方式。 你应该在实际的javascript文件中而不是在HTML中。