Javascript 在AngularJs中选择性地显示ng重复
我有一个数据如下。有两种类型的问题,一种是以图片作为答案,另一种是以选项作为答案Javascript 在AngularJs中选择性地显示ng重复,javascript,angularjs,conditional,angularjs-ng-repeat,Javascript,Angularjs,Conditional,Angularjs Ng Repeat,我有一个数据如下。有两种类型的问题,一种是以图片作为答案,另一种是以选项作为答案 $scope.data = [ {'question': "Select one.", 'pic': false, 'answer': [ {"option": "8", "correct": false}, {"option": "14", "correct": false}, {"opt
$scope.data = [
{'question': "Select one.", 'pic': false,
'answer': [
{"option": "8", "correct": false},
{"option": "14", "correct": false},
{"option": "1", "correct": true},
{"option": "23", "correct": false}
]
},
{'question': "Select another right answer.", 'pic': true,
'answerPic': [
{"option": "img/pic1.jpeg", "correct": false},
{"option": "img/pic2.jpeg", "correct": false},
{"option": "img/pic3.jpeg", "correct": true},
{"option": "img/pic6.jpeg", "correct": false}
]
},
]
我使用了下面的代码在视图中显示它们。如您所见,有两个ng repeat
块,每种类型一个。但是我如何让angular选择一个特定的类型来查看数据中的pic值呢?例如,如果pic为真角度,则应使用图片块。否则就是正常的
<div class="text">
<label ng-repeat="a in question.answer">
<input type="radio" name="answers">
<div class="item-content">
{{ a.option }}
</div>
</label>
</div>
<div class="picture">
<label ng-repeat="a in question.answer">
<input type="radio" name="answers">
<div class="item-content">
<img src="{{ a.option }}" />
</div>
</label>
</div>
{{a.option}}
到目前为止,我能想到的唯一选项是使用
ng show
和ng hide
。然后我将能够将pic
值从数据传递给它。但在我看来,这就像是一个黑客。解决这种情况的最佳方法是什么?您可以使用ng if
或ng开关
。与ngshow
/nghide
相反,前者实际上会从dom中删除元素,而后者只是更改display
css属性
提供了一个很好的说明。ng show或ng hide没有任何问题。您可以将其与
ng-clope
结合使用。更多信息请参见此问题:谢谢,弗里迪。我很好奇为什么投反对票如果我知道的话,也许我以后可以避免类似的问题。不客气。顺便说一句,否决票不是我投的。