Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何使用ng repeat显示json数据?_Angularjs_Json - Fatal编程技术网

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它即将取消定义,您的问题是?单击“提交获取所有输入值并存储在对象中”我该怎么做?