计算Angular中出现的次数

时间:2016-07-18 04:52:15

标签: html angularjs

所以基本上我有这个测验应用程序我正在使用角度,我想计算输入正确答案的次数。我已经把它做成了“正确的”字样。如果他们在文本框中输入正确的答案,问题会显示,但我想知道发生了多少次。这是我的代码

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(意味着答案是正确的)?

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;