我正在尝试使用 Angular JS 制作一个测验应用程序。 当用户选择正确的答案时,我想在该项目内显示一个图标。 问题是图标被应用于列表中的每个项目。 我该如何解决这个问题?
这是代码
<md-radio-group ng-model="test.selected" ng-change="test.onChange(test.selected)">
<md-radio-button ng-repeat="item in test.items" value="{{item}}" class="md-accent" ng-click="test.validate($index)">
{{item}}
<md-icon class="material-icons md-secondary right" ng-show="test.isCorrect">done</md-icon>
<md-icon class="material-icons md-secondary wrong" ng-show="test.isNotCorrect">clear</md-icon>
</md-radio-button>
</md-radio-group>
这是一个 plunker 演示 plunkr
最佳答案
我对你的插件做了一些更改,
(function(){
angular.module('app')
.controller('testCtrl', ['$scope', function($scope){
var vm = this;
vm.items = ['Dignity','Pretty','Cheap','Expensive'];
vm.right = 0;
vm.onChange = function(selected){
console.log(selected);
}
vm.validate = function(index){
console.log(index);
if(index === vm.right){
vm.isCorrect = vm.items[index];
vm.isNotCorrect = "";
}
else{
vm.isNotCorrect = vm.items[index];
vm.isCorrect = "";
}
}
}])
})();
并且在 View 中
<md-icon class="material-icons md-secondary right" ng-show="test.isCorrect==item">done</md-icon>
<md-icon class="material-icons md-secondary wrong" ng-show="test.isNotCorrect==item">clear</md-icon>
关于javascript - 如何在 AngularJS 中使用 ng-repeat 时显示特定项目内的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43157059/