I'm attempting to append the html within el
from instances
var Article1 = Backbone.View.extend({
initialize: function(options) {
console.log('type 1', options)
this.flyIn(options);
},
flyIn: function(options) {
this.$el.find('.superDog').css({
display: 'block'
});
this.$el.find('.superDog').animate({
top: options.top,
left: options.left
}, 3000);
},
render: function() {
},
el: '<div><p class="superDog"></p></div>'
});
var Article1A = new Article1({
color: 'black',
top: '300',
left: '300',
html: 'hello world'
});
var Article1B = new Article1({
color: 'blue',
top: '800',
left: '800',
html: 'Hello Everyone'
});
var Article1C = new Article1({
color: 'blue',
top: '600',
left: '1000',
html: 'Hello No One'
});
I've tried putting append.el
(or el.append
, wasn't sure which way it went), options.html
, etc.
Is it possible to do what I'm trying to do or do I have to use something else?
Take time to read the Backbone documentation:
el
view property is a string (a selector) or DOM element,this.$el
refer to a jQuery object ofthis.el
which is the DOM element.template
is whatever you want, a function or a string mostly.Optimize your use of jQuery by caching objects instead of selecting them over and over.
Rendering a dynamic list
Make a generic view which will serve for every article.
Then use this view inside a generic article list view.
And use Backbone models and a collection to convey the data.