AngularJS - 单击时更改列表的类
AngularJS - 单击时更改列表的类
我刚开始使用Angular,并且还在尝试理解它的工作原理。我有关于使用ng-repeat的列表的两个问题。我首先会发布我的代码。
HTML
控制器
function ClassListCtrl($scope, $http) { $scope.loadedList=[]; $scope.students=[]; $scope.activeClass=''; $scope.orderProp = 'alphabetical'; $http.get('data/class.json').success(function(data) { $scope.classes = data; }); $scope.loadRoster=function(classlist){ $scope.selectedClass=classlist; $scope.activeClass='active'; if($scope.loadedList[classlist.class_id]== undefined){ $http.get('data/class_'+classlist.class_id+'.json').success(function(data){ $scope.loadedList[classlist.class_id]=data; $scope.students=data; }); } $scope.students=$scope.loadedList[classlist.class_id]; } $scope.studentClick=function(student){ } }
好的,这样可以很好地获取数据。我可以点击一个班级,然后加载该班级的学生。为了减少AJAX调用,我将已点击的班级存储起来,如果再次点击该班级,它将从内存中获取而不是进行调用。这对于班级名单来说是可以接受的,因为它们大部分是静态的。
我试图让它加载一个默认的班级名单(按字母顺序排列的第一个),并将那个列表项标记为活动状态。
其次,当他们点击一个列表项时,我想将该列表项设置为活动状态,并将其他列表项的类更改为无。我也不确定如何做到这一点。目前,没有一个列表项是活动的,但是当我点击一个时,所有列表项都变成活动状态。