Javascript-форум (https://javascript.ru/forum/)
-   Backbone.js (https://javascript.ru/forum/backbone/)
-   -   не получается вставить набор элементов (this.el) при цикле (https://javascript.ru/forum/backbone/63813-ne-poluchaetsya-vstavit-nabor-ehlementov-el-pri-cikle.html)

DynkanMaclaud 01.07.2016 11:37

не получается вставить набор элементов (this.el) при цикле
 
var Model = Backbone.Model.extend({
			defaults:{
				name:'Daniil'
			}
		})
		
		var View = Backbone.View.extend({
			render:function() {
				for (var i=0; i < 5; i++) {
					var elem = this.$el.text(this.model.get('name'));
					$('body').append(elem);
				}
			}
		})

		var model = new Model();
		var view = new View({model:model})
		view.render()

создается только 1 div, как сделать чтобы создавалось их более??? я так понимаю this.el это ссылка на элемент div...

armidoll 04.07.2016 00:11

1. Создать коллекцию, запихнуть в неё все модели
2. Создать отдельный вид для коллекции, через его render() создавать и добавлять виды моделей

CollectionView = Backbone.View.extend({

 ...
  
  render : function () {
    this.collection.each( function( model ) {
      this.renderModel( model );
    }, this );
  },

  renderModel : function ( model ) {
    var modelView = new ModelView({ model : model });
    this.$el.append( modelView.render().el );
  }

 ...

});


Часовой пояс GMT +3, время: 10:23.