2

我正在学习如何使用 Backbone 和 Parse 创建一个调查网站。我在 Stack Overflow 上看到过类似的问题。但是我的问题有点不同。在这个网站上,用户可以进行自己的调查。假设现在用户可以发布两种类型的问题:多项选择和自由回答。我创建了一个名为 Question 的主干模型,如下所示。

//问题模型

//----------------------
var Question = Parse.Object.extend(
"Question", {
//Default attributes for the todo
defaults: {
    content: "What's your name",
    type: "free_response",
    choices: []
},
initialize: function() {
      if (!this.get("content")) {
              this.set({"content": this.defaults.content});
     }
      if (!this.get("type")) {
              this.set({"type": this.defaults.type});
     }
      if (!this.get("choices")) {
              this.set({"choices": this.defaults.choices});
     }
}

});

所以我还想创建一个可以显示问题的 QuestionView。但它应该以不同的方式显示多种选择和自由响应。那么根据问题类型以不同方式显示问题的最佳方式是什么?谢谢。

4

1 回答 1

0

在您的 questionView 模板中添加一条if语句:

<script type="template/underscore" id="QuestionView">
<%- content %>
<% if (type === 'free_response') { %>
<textarea name="answer<%- id %>"></textarea>
<% } else { _(choices).each(function (choice) { %>
<input type="radio" name="answer<%- id %>" value="<%- choice %>"> <%- choice %>
<% });} %>
</script>

有关如何使用下划线模板的更多信息,请参阅: http ://documentcloud.github.com/underscore/#template

于 2012-11-24T08:48:38.813 回答