【问题标题】:Getting YouTube views with Backbone.js使用 Backbone.js 获取 YouTube 观看次数
【发布时间】:2012-03-27 03:45:15
【问题描述】:

我一直在使用 Backbone.js 作为 Wordpress(使用 super rad JSON API 插件)和我的前端之间的中间人。

我的每个 Wordpress 帖子都附有一个 YouTube 视频 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 之外做?

任何帮助都将不胜感激!

提前致谢, 查理。

【问题讨论】:

    标签: ajax events youtube backbone.js


    【解决方案1】:

    viewCount 应该是 Video 模型子类的一个属性。您可以在实例化模型之前并行加载视频的 wordpress 数据和 youtube 计数,或者您可以在获取和稍后应用 youtube 数据时使用来自 wordpress 的数据实例化您的模型。从 youtube 获得观看次数后,set 在相应的模型实例上。让您的视图绑定到模型上的 change:viewCount 事件,并在加载此数据后重新渲染自身(或至少将视图计数推送到 DOM 中的适当元素中)。

    至于何时执行此操作,您可能应该在创建基本 Video 模型实例并使用 wordpress 数据源中的基本属性填充其基本属性后立即开始在后台获取视图计数。或者,您可以选择稍后在视频播放或滚动到视口或鼠标悬停时延迟加载观看次数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2011-03-20
      • 2015-08-30
      • 2019-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多