Привязать модель и вид к существующему div backbone

352
27 декабря 2016, 02:15

Гайз, нужна помощь, не могу понять, каким образом я могу привязать модель и вид к уже существущему массиву элементов в DOM дереве ( в div.container у меня есть несколько div.widget ), имеется такой код:

// Model
V.Models.Shortcode = Backbone.Model.extend({});
// Shortcodes Collection Init
V.Collections.Shortcodes = Backbone.Collection.extend({
  model: V.Models.Shortcode,
});

При загрузке iframe подгружаем коллекцию и запихиваем в нее данные моделей полученные из storage, что сформировался на сервере:

$('#preview').on('load', function() {
    var ShortcodesCollection = new V.Collections.Shortcodes( Vision.ShortcodeStorage );
    var Preview = new V.Views.Preview({
        collection: ShortcodesCollection,
        el: $('.container')
    });
    Preview.render();
});

Далее в дело вступает собственно View моего Preview с коллекцией внутри:

// Collection View in iframe
V.Views.Preview = Backbone.View.extend({
  initialize: function() {
    this.collection.on('add', this.addOne, this);
  },
  render: function() {
    this.collection.each(this.addOne, this);
    return this;
  },
  addOne: function(ad) {
    var shortcodeView = new V.Views.Shortcode({ model: ad });
    shortcodeView.render();
  }
});

в функции addOne мы пробегаемся по каждой модели и формируем View для нее:

// Shortcode View
V.Views.Shortcode = Backbone.View.extend({
    events: {
        'click .vswidget' : 'SomeActionOnView'
    },
    render: function(){
        //console.log(this.el);
        //console.log(this.model.toJSON());
    },
    SomeActionOnView: function(){
        console.log(this);
    }
});

Собственно вопрос, каким образом я могу привзять V.Views.Shortcode к каждому div с классом .widget чтобы повесить события? Спасибо!

READ ALSO
js json -> php. Vk api

js json -> php. Vk api

Делаю передачу данных из iframe в мой скрипт (vkcom)

419
как вызвать метод компонента Vue.js по клику?

как вызвать метод компонента Vue.js по клику?

Есть компонент модального окна dialogvue из пакета vue-mdl

480
Валидация формы, где ошибка?

Валидация формы, где ошибка?

Доброго времени суток, Делаю валидацию формы, подскажите где ошибка? не отрабатывает блок if/else

372
js добавить input

js добавить input

Здравствуйте, нужна помощьНужен скрипт, который по нажатию кнопки будет добавлять input и устанавливать ему name = "input_form" + N где N это количество...

499