2012-03-27 45 views
3

我一直在使用Backbone.js作爲Wordpress(使用超級JSON API插件)和我的前端之間的中間人。使用Backbone.js獲取YouTube視圖

我的每個WordPress博客都附帶了一個YouTube視頻ID,當我獲取收藏時,這個ID會被拉回。

我試圖找出應用程序中的最佳點出去並解析視頻ID以獲取總視頻視圖。

這是獲取集合型號代碼:

parse: function(response) { 
    return response.posts; 
} 

然後將下面的代碼繪製相應的視圖。

this.getCollection().each(function(model) { 
    var view = new App.Thumbnail.View({model: model}); 
    var item = $(view.render().el); 
    this.container.append(item); 
}); 

在這個過程中的某個時刻,我需要縮略圖來指定自己的視頻計數。這是代碼我有抓住YouTube的觀看次數:

function getYoutubeViewCount(videoID) { 
    $.ajax({ 
    url: "http://gdata.youtube.com/feeds/api/videos/" + videoID + "?v=2&alt=json", 
    dataType: "jsonp", 
    success: function (data) { console.log(data.entry.yt$statistics.viewCount); } 
    }); 
} 

所以我的問題是,你在哪裏想到來獲取觀看次數最好的地方是什麼?我應該創建一個獲取計數的子模型嗎?或者在backbone.js之外做?

任何幫助將不勝感激!

在此先感謝, 查理。

回答

1

viewCount應該是您的視頻模型子類的屬性。在實例化模型之前,您可以同時加載視頻的wordpress數據和youtube計數,也可以在獲取並應用youtube數據的同時使用wordpress中的數據實例化模型。一旦從YouTube獲得查看計數,set它就在相應的模型實例上。將視圖綁定到模型上的change:viewCount事件,並在加載此數據後重新呈現其自身(或至少將視圖計數移到DOM中的相應元素中)。

至於當你這樣做時,你可能應該從你的wordpress數據源創建並填充基本屬性後立即開始在後臺獲取視圖計數(s)。或者,您可以選擇稍後懶懶地加載視圖計數,當視頻被播放或滾動到視口中或被覆蓋或者其他任何東西時。