gpt4 book ai didi

javascript - Ng-click 和 ng-show AngularJS

转载 作者:行者123 更新时间:2023-11-30 15:59:03 25 4
gpt4 key购买 nike

我有一个字典列表,我想切换显示每个教室的所有学生及其详细信息。

这是 HTML:

<div ng-app="myApp" ng-controller="myCtrl">

<div class="classrooms-details" ng-show="Students">
<table class="table table-striped">
<thead>
<tr>
<th>First name</th>
<th>Last name</th>
<th>Gender</th>
<th>Birthday</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="classroom in classrooms">
<td>{{classroom.student.first_name}}</a></td>
<td>{{classroom.student.last_name}}</td>
<td>{{classroom.student.gender}}</td>
<td>{{classroom.student.birthday}}</td>
</tr>
</tbody>
</table>
</div>

<table class="table table-striped">
<thead>
<tr>
<th>Classroom</th>
<th>School</th>
<th>Academic year</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="classroom in classrooms">
<td><a href="#" ng-click="showStudents">{{classroom.classroom}}</a></td>
<td>{{classroom.school.school_name}}</td>
<td>{{classroom.academic_year}}</td>
</tr>
</tbody>
</table>

</div>

我试过使用 ng-click/ng-show,但它不起作用。

这是脚本:

var app = angular.module("myApp", []);

app.controller("myCtrl", function($scope) {
$scope.classrooms = [{
"school": {
"id": 1,
"school_name": "IPSIA F. Lampertico",
"address": "Viale Giangiorgio Trissino, 30",
"city": "Vicenza"
},
"academic_year": "2015/2016",
"classroom": "1^A",
"floor": 0,
"students": [{
"classroom": 1,
"first_name": "Stefano",
"last_name": "Rossi",
"gender": "M",
"birthday": "1998-06-22"
}, {
"classroom": 1,
"first_name": "Luca",
"last_name": "Possanzini",
"gender": "M",
"birthday": "1999-11-22"
}]
}, {
"school": {
"id": 2,
"school_name": "ITIS A. Rossi",
"address": "Via Legione Gallieno, 52",
"city": "Vicenza"
},
"academic_year": "2015/2016",
"classroom": "2^B",
"floor": 0,
"students": [{
"classroom": 2,
"first_name": "Sergio",
"last_name": "Lazzari",
"gender": "M",
"birthday": "2001-01-29"
}]
}];
console.log($scope.classrooms);
});

我不知道如何访问“学生”值,我希望仅在单击教室名称时显示学生的详细信息。

我怎样才能做到这一点?

最佳答案

您只需将特定教室设置为“事件”教室并显示其中的学生。最简单的方法是:

查看

<tr ng-if="activeClassroom" ng-repeat="student in activeClassroom.students">
<td>{{student.first_name}}</a></td>
<td>{{student.last_name}}</td>
<td>{{student.gender}}</td>
<td>{{student.birthday}}</td>
</tr>

...

<tr ng-repeat="classroom in classrooms">
<td><a href="#" ng-click="setActiveClassroom(classroom)">{{classroom.classroom}}</a></td>
<td>{{classroom.school.school_name}}</td>
<td>{{classroom.academic_year}}</td>
</tr>

Controller

$scope.activeClassroom = null;

$scope.setActiveClassroom = function (classroom) {
$scope.activeClassroom = classroom;
};

关于javascript - Ng-click 和 ng-show AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38043203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com