2014-02-03 2 views
0

У меня возникли трудности с BLM в получении модели, переданной в представление. Я решил следовать его обзорным шагам, чтобы узнать больше. Я работал, что «BaseView» он создает это 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(); 

Может кто-нибудь помочь? Fiddle is http://jsfiddle.net/jmsherry/WHY67/1/

ответ

-1

Использование марионетки. 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()); 
2

Вам нужно сделать вид перед подсоединением отображаемого содержимого на тело, так просто поменять код вокруг и он должен работать.

// Render the View with the name `Tom Branton`. 
myFirstView.render(); 

// Insert into the Document. 
myFirstView.$el.appendTo("body"); 
Смежные вопросы