所以基本上我有这个测验应用程序我正在使用角度,我想计算输入正确答案的次数。我已经把它做成了“正确的”字样。如果他们在文本框中输入正确的答案,问题会显示,但我想知道发生了多少次。这是我的代码
second
所以基本上问题只是一个带有问题字符串和答案字符串的数组。我想在最后看到有多少是正确的。所以我在思考,我在一个正确的属性中添加了一个默认为0的问题对象,这可能意味着错误,并在其权限为1时进行更改。
现在当有人输入正确的答案时,如何从html页面更改?如果显示正确,如果ng-show是正确的,那么该值将为1,如果不是,则它为0。
感谢您的帮助。想知道我是否可以实时做到这一点而不是检查'按钮结束。
编辑:好的,我查看了ng-if指令,它是否可以添加像
div ng-repeat="q in questions">
<span>{{ q.question }}</span><br>
<input type="text" ng-model="q.ans" name="email" placeholder="">
<div ng-show="q.ans===q.answer">CORRECT!</div>
<div>
如果运行ng-if块,或以某种方式执行q.correct = 1(意味着答案是正确的)?
答案 0 :(得分:1)
Make a filter用于计算正确的答案
// app is your module
app.filter('correctCount', function() {
return function(questions) {
return questions.reduce(function(count, q) {
return count + (q.ans === q.answer ? 1 : 0);
}, 0);
};
})
然后您可以在模板中显示总数
Total: {{questions | correctCount | number}}
演示〜http://plnkr.co/edit/br3fxHQ8q04ajZj6Fxch?p=preview
可能更容易理解的reduce
替代方案是......
return questions.filter(function(q) {
return q.ans === q.answer;
}).length;