1.今日任务
分析:实现昨天遗留下来的问题,昨天我们已经在数据库里面插入了测试数据,并且把前端样式大致实现了,今天的问卷我们首先只解决只有单选题,下次在解决问卷中存在多选题,我们难度依次增加。今天主要就是写后端接口并在显示出来。
2.实现
2.1接口实现
分析:我们首先确定目的,目的是为了从首页点击某一个问卷模板时进入到具体的问卷页面,那么我们这里就涉及到了一个问题就是我们点不同的问卷进入到的是该问卷对应的详情页面,那怎么去区分到底进入到的是哪一个页面呢?这里就需要我们点击的时候传一个参数,也就是该问卷的ID。这样我们后端就需要去接收这个ID并去数据库里面搜索该问卷对应的问题数据。
查询问卷对应的问题
查询问卷对应的问题选项
其实我们仔细思考一下,这里有一个问题,就是正常来说我们应该是要把问题的ID传过去,查询这个问题下面所有的选项。刚开始我本来是这么实现的,如果这样写不仅接口简单,而且获取的选项集合就是具体问题下面的,但是在前端显示的时候有一个重要的实现部分,会遇到要用v-for循环嵌套,第一层就是我们查到的该问卷对应的问题,第二层是每个问题里面对应的选项,那我们要怎么去传这个问题的ID给选项表呢?是没有这个实现功能(可能是我学艺不精)的,因为方法不能直接在标签里面写,这样就不能把问题ID传过去,所以我想到了一个办法,我们就把该问卷下的所有选项查到,在前端用一个v-if去判断如果问题表(question表)和选项表(option表)的questionID字段相等的话就显示出来,这样也是可以实现的,这样我们就需要在option表中添加一个questionnaireId字段,方便查找。
在这里我都已经不想重复这个框架到底有多好用,根本不需要写Sql语句。
2.2前端实现
点击首页将questionnaireId和quetsionTitle传过去
问卷页
2.3效果
这就是成功从数据库中查询到对应问卷对应的问题对应的选项。