Angularjs 如何使用ng repeat显示json数据?
我正在尝试使用Angularjs 如何使用ng repeat显示json数据?,angularjs,json,Angularjs,Json,我正在尝试使用ng repeat复制Json数据。但该网页要么显示为白色页面,要么显示为空白页面 Json: { "questions": { "q1": { "qText": " question1", "result":"result1", "options":{ "A":"option1",
ng repeat
复制Json数据。但该网页要么显示为白色页面,要么显示为空白页面
Json:
{
"questions": {
"q1": {
"qText": " question1",
"result":"result1",
"options":{
"A":"option1",
"N":"option2",
"D":"otpion3",
"NA":"option4"
}
},
"q2": {
"qText": " question2",
"result":"result2",
"options":{
"A":"option1",
"N":"option2",
"D":"otpion3",
"NA":"option4"
}
},
"q3": {
"qText": " question3",
"result":"result3",
"options":{
"A":"option1",
"N":"option2",
"D":"otpion3",
"NA":"option4"
}
},
"q4": {
"qText": " question4",
"result":"result4",
"options":{
"A":"option1",
"N":"option2",
"D":"otpion3",
"NA":"option4"
}
},
"q5": {
"qText": " question5",
"result":"result5",
"options":{
"A":"option1",
"N":"option2",
"D":"otpion3",
"NA":"option4"
}
},
"q6": {
"qText": " question6",
"result":"result6",
"options":{
"A":"option1",
"N":"option2",
"D":"otpion3",
"NA":"option4"
}
}
}
}
}
HTML:
<div ng-repeat="question in questions track by $index">
<div class="q1">
<p>{{question.qText}}</p>
<input type="radio" ng-model="qobj.q1" ng-value="'A'" ><label>{{question.options.A}}</label>
<input type="radio" ng-model="qobj.q1" ng-value="'N'" ><label>{{question.options.N}}</label>
<input type="radio" ng-model="qobj.q1" ng-value="'D'" ><label>{{question.options.D}}</label>
<input type="radio" ng-model="qobj.q1" ng-value="'NA'" ><label>{{question.options.NA}}</label>
</div>
</div>
{{question.qText}}
{{question.options.A}
{{question.options.N}
{{question.options.D}
{{question.options.NA}
检查您的问题对象是否在范围内
角度模块(“测试”,[])
.控制器('ctr1',功能($scope){
$scope.save=函数(ques){
$scope.showAnswer=true;
}
$scope.ques={
“q1”:{
“qText”:“问题1”,
“结果”:“结果”,
“选择”:{
“A”:“选项1”,
“N”:“选项2”,
“D”:“otpion3”,
“不适用”:“选项4”
}
},
“q2”:{
“qText”:“问题2”,
“结果”:“结果”,
“选择”:{
“A”:“选项1”,
“N”:“选项2”,
“D”:“otpion3”,
“不适用”:“选项4”
}
},
“q3”:{
“qText”:“问题3”,
“结果”:“结果”,
“选择”:{
“A”:“选项1”,
“N”:“选项2”,
“D”:“otpion3”,
“不适用”:“选项4”
}
}
}
})
-
{{q.qText}
{{q.options.A}
{{q.options.N}
{{q.options.D}
-
{{q.qText}}=={{q.result}
您的json不包含数组,而是包含一个包含其他对象的对象。因此,必须让angular知道如何遍历其键:
<div ng-repeat="(key, question) in questions track by $index">
<!-- .. -->
</div>
我明白你想做什么了! 你的模型说:
`"questions": {
"q1": {...}
},
"q2": {...},
...
}`
所以,问题应该是ng repeat使用它的数组
只是一个猜测,我认为您根本不需要“q1”、“q2”标签。。
将您的“问题”模型修改为:
`"questions": [
{
"qText": " question1",
"result":"result1",
"options":{
"A":"option1",
"N":"option2",
"D":"otpion3",
"NA":"option4"
}
},
{...},
{...},
{...}
]`
请记住:ng repeat非常适合于集合,而不是对象
希望这能达到你的目的 选项1、选项2、选项3和选项4未显示,我们如何显示?ng模型q值如何可以像以下问题一样递增:问题1-->ng model=“qobj.q1”,问题2-->ng model=“qobj.q2”,问题3-->ng model=“qobj.q3”,@sunithabg,我没有得到您想要的结果:我刚刚编辑了代码段,最后显示了所选的选项。所有的公式都需要作为对象构建,我该怎么做?ng model=“option”,$scope.option它即将取消定义,您的问题是?单击“提交获取所有输入值并存储在对象中”我该怎么做?