如何在Survey应用程序中使用Vue.js在Vuex存储中存储和检索嵌套值?

时间:2019-04-30 19:06:39

标签: vue.js vuex reactive survey

我在Vuex中有一个具有以下状态的模块:

const state = {
    questions: [{
        label: "Do you have a great day?",
        answers: [{
            label: "I had struggles"
        }, {
            label: "Some other answer"
        }, {
            label: "Maybe three answers"
        }]
    }, {
        label: "Another question about something?",
        answers: [{
            label: 'Some answer'
        }, {
            label: 'This is also an answer'
        }]
    }]
}

现在在视图中(我使用VueRouter),我将检索一个问题,并显示答案。然后人们可以用1到10之间的“ input [type =“ range”]”回答问题。

存储此值的最佳方法是什么?

所以我将进行一些路由选择,例如:

/questions/1
/questions/2

最后,我将计算每个问题的结果并显示总计。

问题页面上有一个下一个和上一个按钮。

谢谢您的帮助,我暂时在这部分上还停留了一段时间。

罗纳德。

1 个答案:

答案 0 :(得分:0)

基于对您评论的理解,我将创建一个基本数组,然后使用@click下一个按钮(检查以确保他们回答了所有问题)将这些输入值添加到基本数组中。因此,您的masterArray为[[user1的答案],[user2的答案],...]然后,您可以通过遍历masterArray并求和user1 [questionIndex] + user2 [questionIndex] ...

来求平均值。

因此用户提交的答案为“ 3、6、4、2、1”。此数组成为masterArray中的第一个数组。用户二提交答案“ 3、2、56、3、6”现在masterArray看起来像{[3、6、4、2、1],[3、2、56、3、6]}查找问题的平均值1您只需插入(这是伪代码)masterArray[0[0]] + masterArray[1[0]] / masterArray.length

(如果希望长期存储它,那么您需要查看服务器如何存储数据,这是另一个问题)。