Что за модель, контроллер, вид в следующем примере с backbone.js? - PullRequest
1 голос
/ 06 января 2012

Я получил этот код:

(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);

из этого учебника.

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

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

Ответы [ 3 ]

2 голосов
/ 07 января 2012

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

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

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

1 голос
/ 07 января 2012

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

1 голос
/ 06 января 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...