Angularjs 视图中使用的角度特性(变量)
我有一份学校名单和一份教师名单 学校Angularjs 视图中使用的角度特性(变量),angularjs,angularjs-directive,angularjs-scope,angularjs-ng-repeat,Angularjs,Angularjs Directive,Angularjs Scope,Angularjs Ng Repeat,我有一份学校名单和一份教师名单 学校 [ { "id": 1, "nameOfInstitution": "Summer Elementary", "schoolLevel": "01304" }, { "id": 2, "nameOfInstitution": "Grady Middle", "schoolLevel": "02400" } ] 教师 [ { "id": "1", "sch
[
{
"id": 1,
"nameOfInstitution": "Summer Elementary",
"schoolLevel": "01304"
},
{
"id": 2,
"nameOfInstitution": "Grady Middle",
"schoolLevel": "02400"
}
]
教师
[
{
"id": "1",
"school": "1",
"name": {
"lastOrSurname": "HARRISON",
"firstName": "JOHN",
"middleName": ""
}
},
{
"id": "2",
"school": "1",
"name": {
"lastOrSurname": "Nelson",
"firstName": "Darren",
"middleName": ""
}
},
{
"id": "3",
"school": "2",
"name": {
"lastOrSurname": "Stewart",
"firstName": "Manuel",
"middleName": ""
}
}]
在控制器中,我有
这个问题与这个观点有关。我怎样才能做到这一点
- 暑期小学
- 约翰·哈里森
- 达伦·纳尔逊
- 格雷迪中学
- 曼努埃尔·斯图尔特
谢谢 您可以在ng repeat中筛选教师:
<div ng-repeat="school in schools">
<div ng-repeat="teacher in teachers | filter: {school: school.id}">
最后一点注意:这是可行的,但是如果你有很多学校和老师,那么在显示javascript之前从javascript中进行过滤会更有效,例如,构建一个类似javascript的结构
schools = [{
nameOfInstitution: ...,
schoolLevel: ...,
teachers: [{
lastOrSurname: ...
}]
// ... etc
}];
使用过滤器:
<div ng-repeat="school in schools">
{{school.nameOfInstitution}}
<p ng-repeat="teacher in teachers | filter:{school: ''+ ($index+1)}:true">
{{teacher.name.lastOrSurname}}
</p>
</div>
{{school.nameOfInstitution}
{{teacher.name.lastOrSurname}
但是你最好有一些学校的id…@PetrAveryanov为什么错了?事实上,要想工作,每个学校都需要增加一个
id
。当学校ID是他们的索引时,我又举了一个例子。是的,对不起!我的意思是在地图上显示id。谢谢你的快速回复!谢谢@ChrisF.的精确性,所以我的答案是正确的。你总是需要精确的过滤器ids@PetrAveryanov我仍然不明白你的意思,但我向你保证这是正确的方法。我正在将外部中继器的当前school.id
与内部中继器的teacher.school
进行匹配。
schools = [{
nameOfInstitution: ...,
schoolLevel: ...,
teachers: [{
lastOrSurname: ...
}]
// ... etc
}];
<div ng-repeat="school in schools">
{{school.nameOfInstitution}}
<p ng-repeat="teacher in teachers | filter:{school: ''+ ($index+1)}:true">
{{teacher.name.lastOrSurname}}
</p>
</div>