私がやろうとしているのは、データベースを呼び出して、結果を HTML に表示することです。データを表示する方法がわからないことを除いて、すべてが機能しています(データはデータベースから正常に返されます)。
それが非同期であることはわかっていfetch()
ますが、それをコレクション ビューに接続する方法がわかりません。ここに私のバックボーンがあります:
(function() {
window.App = {
Models: {},
Collections: {},
Views: {},
Router: {}
};
window.template = function(id) {
return _.template( $('#' + id).html() );
};
App.Models.Main = Backbone.Model.extend({
defaults : {
FName: ''
}
});
App.Collections.Mains = Backbone.Collection.extend({
model: App.Models.Main,
initialize: function(mains) {
this.fetch({success: function(main) {
$('#web-leads').html(main);
}});
},
url: '../leads/main_contact'
});
App.Views.Mains = Backbone.View.extend({
tagName: 'ul',
render: function() {
var ul = this.collection.each(this.addOne, this);
return ul;
},
addOne: function(main) {
var mainC = new App.Views.Main({ model: main});
this.$el.append(mainC.render().el);
return this;
}
});
App.Views.Main = Backbone.View.extend({
tagName: 'li',
template: template('mainContactTemplate'),
render: function () {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
main = new App.Views.Main();
mains = new App.Collections.Mains(main);
})();
私ができる必要がある$('#web-leads').html()
のは、から返された値で呼び出すことmains
です。それ、どうやったら出来るの?