2

Backbone と Parse を使用して調査 Web サイトを作成する方法を学んでいます。Stack Overflow で同様の質問を見たことがあります。しかし、私の質問は少し異なります。この Web サイトでは、ユーザーは独自の調査を行うことができます。今のところ、ユーザーが投稿できる質問には、複数選択と自由回答の 2 種類があるとします。次のように、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 に答える