微信小程序开发边做边学(微课视频版)
上QQ阅读APP看书,第一时间看更新

2.4 添加做题结果

2.3节内容主要是修改了C语言测试存在的一些逻辑错误,同时留下了一个思考题,本节将对该思考题做一个解答,同时对C语言测试功能做进一步的完善。

2.4.1 test页面修改

首先test.js文件中部分代码过于复杂,这里对它进行简单修改。如图2-33所示,框中的代码过于繁杂,这里只需要一个简单的赋值就行。当单击A选项时,给A的值加1即可,如图2-34所示。

对于本节要增加的做题结果,先在data数组中增加correct和error两个变量,分别用于记录正确题数与错误题数,初始值均为0,另外将增加一个answer数组,数组中为20道题的正确答案,如图2-35所示。

注意到anwer[0]为一个空字符串,这是根据后面answerClickA()中新增的代码决定的。先看一下代码,如图2-36所示。由于index初始值为1,当选择A选项时,判断this.data.answer[this.data.index]即answer[1]是否等于A,若等于,则correct的值加1,否则error的值加1。因此第一题的答案对应的是answer[1],answer[0]为任何值都不影响,正确答案从answer[1]开始存储于answer数组中即可。

图2-33 修改繁杂的if判断

图2-34 修改后的简单逻辑

图2-35 添加变量answer、correct和error

图2-36 给correct、error变量赋值

另外带参跳转至result页面时,加上correct与error的值,用于在result页面显示正确率,如图2-37所示。

图2-37 带参跳转中添加correct与error的值

以上修改只针对answerClickA(),因此需要对answerClickB()、answerClickC()、answerClickD()部分相应的代码进行同样的修改。

2.4.2 result页面修改

如图2-38所示,在result.wxml下添加正确与错误显示结果,另外显示测试者属于什么类型不需要了,把这段代码删除即可。

图2-38 添加正确与错误显示

当然result.js中whichKind()函数也不需要了,将其注释即可。另外,在data数组中增加correct和error变量,初始值为0,并在生命周期函数onLoad()中给correct和error赋值,具体代码如下:

最终结果如图2-39所示。

图2-39 添加做题结果后的result页面