Я использую Backbone и у меня есть следующие модели и коллекцииЛучший способ для визуализации коллекции в Backbone
App.Models.Person = Backbone.Model.extend({
});
App.Collections.People = Backbone.Collection.extend({
model: App.Models.Person,
url: 'api/people',
});
Однако то, что я изо всех сил на это лучший способ сделать эту коллекцию. Вот как я сделал это до сих пор, который работает, но не кажется, самым элегантным решением
App.Views.PeopleView = Backbone.View.extend({
el: $(".people"),
initialize: function() {
this.collection = new App.Collections.People();
//This seems like a bad way to do it?
var that = this;
this.collection.fetch({success: function(){
that.render();
}});
},
render: function() {
var that = this;
_.each(this.collection.models, function (item) {
that.renderPerson(item);
}, this);
},
Я довольно новый для Backbone, но присвоить this
на другой переменный, я использую его в функции успеха просто кажется плохим способом делать что-то? Любая помощь в передовой практике будет оценена по достоинству.
вы сделаете это более сложным, чем необходимо, так как ваш обратный вызов не сверлит подзаголовок, prop или сделать что-нибудь условное, поэтому вы можете просто сказать '_.each (this.collection.models, this.renderPerson, this)' – dandavis