2012-01-06 5 views
1

Я получил этот код:Что такое модель, контроллер, вид в следующем примере backbone.js?

(function($){ 
    var ListView = Backbone.View.extend({ 
    el: $('body'), // el attaches to existing element 

events: Where DOM events are bound to View methods. Backbone doesn't have a separate controller to handle such bindings; it all happens in a View. 

    events: { 
     'click button#add': 'addItem' 
    }, 
    initialize: function(){ 
     _.bindAll(this, 'render', 'addItem'); // every function that uses 'this' as the current object should be in here 

     this.counter = 0; // total number of items added thus far 
     this.render(); 
    }, 

render() now introduces a button to add a new list item. 

    render: function(){ 
     $(this.el).append("<button id='add'>Add list item</button>"); 
     $(this.el).append("<ul></ul>"); 
    }, 

addItem(): Custom function called via click event above. 

    addItem: function(){ 
     this.counter++; 
     $('ul', this.el).append("<li>hello world"+this.counter+"</li>"); 
    } 
    }); 

    var listView = new ListView();  
})(jQuery); 

из this учебника.

Я понимаю, что Backbone.js представляет шаблон MVC передним концом. Но в приведенном выше коде я не вижу этого.

Может ли кто-нибудь объяснить это мне?

+0

не использовать MVC, см критику oop в веб-программировании –

ответ

1

Это только код части обзора. Смотрите другие .js-файлы в том же учебнике. Лучше проверить все файлы из 1.js в 5.js Лучше проверить это из первых: Hello Backbone

+0

Я подозревал это. – alexchenco

1

Обратите внимание, что магистральная View является не один вы ожидали в MVC больше как контроллер или ведущий в MVP. Вот хороший article, который описывает эти различия.

2

Технически нет контроллера в backbone.js. Основными структурами являются модели, представления, коллекции (которые действуют как массивы и содержат множество моделей) и маршрутизаторы.

Ссылка, которую вы указали, - http://arturadib.com/hello-backbonejs/ - это, пожалуй, лучший способ узнать Backbone.js - особенно с небольшим фоном в Javascript. Таким образом, вы на правильном пути. Этот проект является прямым подводящего к Backbone.js списка ToDo учебник: http://documentcloud.github.com/backbone/docs/todos.html

Этот сайт будет также объяснить вещи на более низком уровне - я нашел его очень полезным: http://backbonetutorials.com/

+1

также выезд http://backboneboilerplate.com –