Сложность при получении диспетчера макетов 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());
Другие вопросы по тегам