如何在测验应用中移动到下一个或上一个问题

How to move to next or previous ques-tion in a quiz app?

本文关键字:下一个 上一个 问题 移动 应用      更新时间:2023-09-26

我想从流星的数据库中获取问题。我是流星的新手.js真的不知道该怎么做。

Template.quiz.helpers({
    //add you helpers here
    'questionList': function () {
       return Questions.find({},{limit: 1}).fetch();
    }
});
Template.quiz.events({
    'click .next': function (evt) {
         evt.preventDefault();
    }
});

.db

{
  "_id": "kAKbfLRHFZinrrRZv",
  "selected_subject": "English",
  "question": "ekek",
  "answers_A": "e",
  "answers_B": "q",
  "answers_C": "t",
  "answers_D": "o",
  "correctAns": "e"
}

你可以做这样的事情——

设置会话变量questionNumber呈现测验模板时。您将使用此会话变量的值,通过 Questions.find() 语句中的 skip 选项从一个问题移动到另一个问题。根据用户是单击下一个按钮还是上一个按钮,分别递增或递减此会话变量中存储的值。

Template.quiz.onRendered(function () {
  Session.setDefault("questionNumber", 0);
});
Template.quiz.helpers({
  'questionList': function () {
    return Questions.find({}, { skip: Session.get("questionNumber"), limit: 1 });
  }
});
Template.quiz.events({
  'click .next': function (event) {
    event.preventDefault();
    Session.set("questionNumber", Session.get("questionNumber") + 1);
  },
  'click .previous': function (event) {
    event.preventDefault();
    Session.set("questionNumber", Session.get("questionNumber") - 1);
  }
});