我正在嘗試使用backbone.js和underscore.js創建一個頁面。我希望頁面有一個按鈕,當按下時,使用我定義的模板將表單的內容添加到頁面上的空標籤。與backbone.js一起使用下劃線模板
這裏是我的空標籤,我想按下按鈕後,模板的東西去:
<div id="playView"></div>
<input type="button" id="addQuestion" value="Add Question" />
這裏是我的模板,其中表單數據應該去:
<script id="viewTemplate" type="text/template">
<div id="stemView">{{ Stem }}</div>
<label for="answer1"> a)</label><div>{{ answer1View }}</div>
<label for="answer2"> b)</label><div>{{ answer2View }}</div>
<label for="answer3"> c)</label><div>{{ answer3View }}</div>
<label for="answer4"> d)</label><div>{{ answer4View }}</div>
</script>
而這裏的形式用戶將填寫:
<form>
<textarea id="stem"><textarea>
<textarea id="answer1"></textarea>
<textarea id="answer2"></textarea>
<textarea id="answer3"></textarea>
<textarea id="answer4"></textarea>
</form>
這裏是相關的backbone.js代碼。我的問題是,我該怎麼辦?我如何從窗體獲取數據,然後進入viewTemplate,然後進入空的div標籤(playView)?
wizard.PlayView = Backbone.View.extend({
initialize: function() {
this.model.bind('change', _.bind(this.render, this));
},
el: '#playView',
events: {
'click button#addQuestion': 'addQuestion'
}
addQuestion: function() {
$(this.el).append();
}
});
什麼是你正在使用的模板庫?語法看起來像車把 –
下劃線,但我更改了模板規則以使用{{}} – SkyeBoniwell
Sort-off-topic,但是,如果您使用Backbone版本> 0.9.0,則可以使用'this。$ el'而不是'$(this.el )'引用你的視圖元素,並且你可以使用this.model.on('change',this.render,this)'爲你的回調提供一個上下文,'bind'是'on'的別名。 – fbynite