Сложность при получении диспетчера макетов Backbone для отображения вида (без определения модели)
У меня проблемы с BLM при передаче модели на просмотр. Я решил выполнить его обзорные шаги, чтобы узнать больше. Я выяснил, что "Базовое представление", которое он создает, это Backbone.Layout, и я создал скрипку, которая, я думаю, следует за процессом, но не может заставить его работать...
var MyFirstView = Backbone.Layout.extend({
template: '<li><a href="#test" title="" class="recordName"><%= first_name %> <%= surname %></a><a href="#" class="button edit">Edit</a><a href="#" class="button delete">Delete</a></li>',
});
// Create a new instance.
var myFirstView = new MyFirstView({
model: {
first_name: 'Tom',
surname: 'Branton'
}
});
// Insert into the Document.
myFirstView.$el.appendTo("body");
// Render the View with the name `Tom Branton`.
myFirstView.render();
Кто-нибудь может помочь? Скрипка это http://jsfiddle.net/jmsherry/WHY67/1/
2 ответа
Вам необходимо визуализировать представление перед тем, как прикреплять отображаемый контент к телу, поэтому просто поменяйте местами код, и он должен работать.
// Render the View with the name `Tom Branton`.
myFirstView.render();
// Insert into the Document.
myFirstView.$el.appendTo("body");
Используйте марионетку. https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.layout.md
<script id="layout-template" type="text/template">
<section>
<navigation id="menu">...</navigation>
<article id="content">...</article>
</section>
</script>
AppLayout = Backbone.Marionette.Layout.extend({
template: "#layout-template",
regions: {
menu: "#menu",
content: "#content"
}
});
var layout = new AppLayout();
layout.render();
layout.menu.show(new MenuView());
layout.content.show(new MainContentView());