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

时间:2016-02-11 06:38:27

标签: javascript mongodb meteor

我想从meteor中的数据库中获取问题。我是meteor.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();
    }
});

分贝

{
  "_id": "kAKbfLRHFZinrrRZv",
  "selected_subject": "English",
  "question": "ekek",
  "ans_A": "e",
  "ans_B": "q",
  "ans_C": "t",
  "ans_D": "o",
  "correctAns": "e"
}

1 个答案:

答案 0 :(得分:1)

你可以这样做 -

在渲染测验模板时设置会话变量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);
  }
});