【发布时间】:2017-09-08 13:43:59
【问题描述】:
我正在尝试使用 ng-repeat 遍历对象数组并使用每个对象 ID 来查找绑定到清单模型的数据。 我正在处理的项目中有以下 javascript 对象:
{
diagnosis: {
mainfractures: [
{
id: "metacarpal",
textinput_id: "metacarpal_text",
title: "5th Metacarpal",
},
{
id: "proximal_phalanx",
textinput_id: "proximal_phalanx_text",
title: "Proximal Phalanx",
},
{
id: "middle_phalanx",
textinput_id: "middle_phalanx_text",
title: "Middle Phalanx",
},
{
id: "distal_phalanx",
textinput_id: "distal_phalanx_text",
title: "Distal Phalanx",
},
{
id: "scaphoid_fracture",
textinput_id: "scaphoid_fracture_text",
title: "Scaphoid Fracture",
}
]
}}
这是我的清单模型。当用户选择一个复选框时,一个值将绑定到与该断裂相关的数组。
$scope.checklists = {
"diagnosis": {
metacarpal: [],
proximal_phalanx: [],
middle_phalanx: [],
distal_phalanx: [],
scaphoid_fracture: []
}
}
一旦用户做出类似于上图的选择,掌骨的清单模型应如下所示:掌骨:[“头”]
我要做的是通过fracture.id 在bulletpoint 中列出每个用户选择。我正在尝试用这段代码来完成它,但到目前为止它只列出了骨折标题。尝试将fracture.id 插入ng-repeat 是否有问题?
<div ng-repeat="fracture in diagnosis.mainfractures">
<div > <!--ng-if="checklists['diagnosis'][fracture.id] > 0"-->
<h4>{{ fracture.title }}</h4>
<div class="row">
<ul type="disc">
<li ng-repeat="selection in checklists['diagnosis'][fracture.id]">
• {{ capitalize(selection) }}
</li>
</ul>
</div>
</div>
</div>
【问题讨论】:
-
我很困惑,根据你的 mainfractures 数据集,没有“头”。这意味着清单 ['diagnosis']['head'] 将是未定义的。你可能会做一些类似检查表['diagnosis']['metacarpal']
-
head 没有出现 undefined 因为我没有粘贴完整的模型。我要做的是遍历诊断属性及其相应的数组,然后显示每个元素。我正在尝试使用“fracture.id”来完成此操作。抱歉,如果不清楚。
-
检查我的答案。如果问题不是由于语法错误引起的,请使用检查“头部”或“颈部”时执行的代码更新您的问题。
标签: javascript angularjs json angularjs-directive angularjs-ng-repeat