Я пытаюсь создать страницу с использованием 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();
}
});
Что такое библиотека шаблонов, которые вы используете? Синтаксис выглядит рули –
underscore, но я изменил правила шаблона, чтобы использовать {{}} – SkyeBoniwell
Сортировка вне темы, но если ваша использующая Backbone версия> 0.9.0. Вы можете использовать 'this. $ El' вместо' $ (this.el) 'для ссылки на ваш элемент вида. Кроме того, вы можете использовать' this.model.on ('change', this.render, this) 'для предоставления контекста для вашего обратного вызова.' bind' - это псевдоним для 'on'. – fbynite