如何在angularjs中使用ng repeat访问带有方括号的项目
我无法访问嵌套集合中的某些项 阵列:如何在angularjs中使用ng repeat访问带有方括号的项目,angularjs,angularjs-scope,angularjs-ng-repeat,Angularjs,Angularjs Scope,Angularjs Ng Repeat,我无法访问嵌套集合中的某些项 阵列: $scope.myArray = { "pm_id": 2, "type": "Scrum", "estimated_end_date": "Wednesday, March 15, 2017", "no_of_sprints": 2, "status": "Not Started", "created_by": "admin@admin.com", "sprint": [ {
$scope.myArray = {
"pm_id": 2,
"type": "Scrum",
"estimated_end_date": "Wednesday, March 15, 2017",
"no_of_sprints": 2,
"status": "Not Started",
"created_by": "admin@admin.com",
"sprint": [
{
"s_id": 4,
"p_id": 35,
"sprint_stage": "Sprint 1",
"sprint_requirement_[1]": "<p>description goes here </p>",
"sprint_start_date_[1]": "Monday, March 13, 2017",
"sprint_end_date_[1]": "Friday, March 17, 2017"
},
{
"s_id": 5,
"p_id": 35,
"sprint_stage": "Sprint 2",
"sprint_requirement_[2]": "<p>description goes here </p>",
"sprint_start_date_[2]": "Monday, March 20, 2017",
"sprint_end_date_[2]": "Friday, March 24, 2017"
}
]
}
$scope.myArray={
“pm_id”:2,
“类型”:“Scrum”,
“预计结束日期”:“2017年3月15日,星期三”,
“没有冲刺”:2,
“状态”:“未启动”,
“创建人”:admin@admin.com",
“冲刺”:[
{
“s_id”:4,
“p_id”:35,
“冲刺阶段”:“冲刺1”,
“sprint_需求[1]”:“这里是描述”,
“冲刺开始日期”[1]:“2017年3月13日,星期一”,
“冲刺结束日期”[1]:“2017年3月17日,星期五”
},
{
“s_id”:5,
“p_id”:35,
“冲刺阶段”:“冲刺2”,
“sprint\u需求[2]”:“这里有描述””,
“冲刺开始日期”[2]:“2017年3月20日,星期一”,
“冲刺结束日期”[2]:“2017年3月24日,星期五”
}
]
}
带有ng repeat的HTML:-
<p ng-repeat="y in myArray">
<p ng-repeat="x in myArray.sprint">{{x.p_id}} , {{x.sprint_requirement_[1]}}</p></p>
{{x.p_id},{{x.sprint_需求{[1]}
{{x.p\u id}
工作正常,但是{{x.sprint\u需求{[1]}
变为空白
有人能告诉我我缺少什么吗?试试:
<p ng-repeat="x in myArray.sprint">{{ x.p_id }}, {{ x['sprint_requirement_[' + ($index + 1) + ']'] }}</p>
{{x.p_id},{x['sprint_requirement}+($index+1)+']}
此外,外部ng repeat
对我来说似乎是多余的
说明:在Javascript中,您可以使用点运算符和方括号语法访问对象属性 首先,您的myArray不是数组,因此ng repeat不起作用。 其次,你的sprint_需求不应该有索引
$scope.myArray = [{
"pm_id": 2,
"type": "Scrum",
"estimated_end_date": "Wednesday, March 15, 2017",
"no_of_sprints": 2,
"status": "Not Started",
"created_by": "admin@admin.com",
"sprint": [{
"s_id": 4,
"p_id": 35,
"sprint_stage": "Sprint 1",
"sprint_requirement": "description goes here",
"sprint_start_date": "Monday, March 13, 2017",
"sprint_end_date": "Friday, March 17, 2017"
}, {
"s_id": 5,
"p_id": 35,
"sprint_stage": "Sprint 2",
"sprint_requirement": "description goes here",
"sprint_start_date": "Monday, March 20, 2017",
"sprint_end_date": "Friday, March 24, 2017"
}]
}];
第三,在html中,第一个ng repeat将y声明为变量,因此第二个ng repeat应该在该变量内的sprint数组上工作。
:
{{y.type}
{{x.p_id},{{x.sprint_requirement}
角度模块(“应用程序”,[])
.controller(“ctrl”,函数($scope){
$scope.myArray=[{“pm_id”:2,“类型”:“Scrum”,“预计结束日期”:“2017年3月15日星期三”,“没有冲刺”:2,“状态”:“未开始”,“创建人”:admin@admin.com“,“冲刺”:[{“s_id”:4,“p_id”:35,“冲刺阶段”:“冲刺1”,“冲刺要求”[1]:“说明如下”“,“冲刺开始日期”[1]:“2017年3月13日,星期一”,“冲刺结束日期”;“2017年3月17日星期五”;“冲刺阶段”;“冲刺阶段”;“冲刺阶段2”,“冲刺要求”;“说明如下”;“冲刺开始日期”;“2017年3月20日星期一”;“冲刺结束日期”;“2017年3月24日星期五”
{{x.p_id},{{x['sprint_需求['+($index+1)+']}
sprint[1]
不包含属性为sprint\u requirement\u[1]的对象
sprint[0]
包含sprint\u requirement\u[1]
。。。我已更新我的答案,以说明编号。。。(顺便说一下,这是一个非常奇怪的数据结构…)。
<div ng-repeat="y in myArray">
<p class="lead">{{y.type}}</p>
<p ng-repeat="x in y.sprint">{{x.p_id}} , {{x.sprint_requirement}}</p>
</div>