バックボーンを使用してInstagramの画像を入力しようとしていますが、
私は基本的に次の3つのモデルを持っています、
ユーザーモデルは、Instagramに関連するすべてのユーザー情報を保存します
App.Models.User = Backbone.Model.extend({
defaults: {
id: '',
access_token: '',
userid: '',
username: '',
full_name: '',
profile_picture: ''
},
urlRoot: "/api/user/",
initurl: function() {
return "https://api.instagram.com/v1/users/"+this.get('userid')+"/media/recent/?access_token=" + this.get('access_token');
},
initialize: function() {
this.set('id', $('#domdump .id').val());
this.fetch({
success: function(model) {
var photos = new App.Collections.Ig_photos([],{
url: model.initurl()
});
}
});
}
});
ページネーションのために次のURLを保存するモデル
App.Models.Ig_next_url = Backbone.Model.extend({
defaults: {
next_url: ''
},
next_url:function(){
return this.get('next_url');
}
});
写真のモデル
App.Models.Ig_photo = Backbone.Model.extend({});
複数の写真のコレクション
App.Collections.Ig_photos = Backbone.Collection.extend({
model: App.Models.Ig_photo,
initialize: function(model, options) {
this.url = options.url;
this.nextSet();
},
sync: sync_jsonp,
parse: function( response ) {
if(response.pagination && response.pagination.next_url && response.pagination.next_url != this.url){
var next_url = new App.Models.Ig_next_url({ next_url: response.pagination.next_url });
this.url = next_url.next_url();
}
return response.data;
},
nextSet: function(){
this.fetch({
success: function(photos){
var ig_photos_views = new App.Views.Ig_photos_view({ collection: photos});
console.log(photos);
}
});
}
});
また、コレクションの次のセットを呼び出す[さらに読み込む]ボタンを使用してレンダリングを行うビューがいくつかあります。
私が達成しようとしていたのは、写真がnextset()でコレクションに追加され、コレクションが以前のデータと新しいデータで更新されることですが、現在は上書きされています。
また、modelfetchから新しいコレクションをインスタンス化しても大丈夫ですか?