$ digest()迭代达成。中止!在ngRepeat中获取Vimeo缩略图时

时间:2014-10-20 15:20:40

标签: angularjs vimeo-api

我正在尝试解析视频网址并渲染缩略图。它适用于YouTube(虽然我没有实施API文档)。如果视频来自Vimeo,我的浏览器会冻结或有时缩略图为空白。如何在ngRepeat中获取Vimeo视频缩略图?

以下是plunker链接:

http://plnkr.co/edit/R2yDwc4fjz1xBPiVCv60?p=preview

我评论了Vimeo部分,以避免冻结。

    $http.jsonp(("http://vimeo.com/api/v2/video/" + parsed.id + ".json?callback=JSON_CALLBACK&_=") + (new Date().getTime())).success(function(r) {
      _url = r.thumbnail_large
     }).error(function(e) {
       console.log(e);
     });

1 个答案:

答案 0 :(得分:1)

可能滞后的原因是在ngRepeat内部请求太多。在这种情况下,更好的策略是预先准备数据并仅使用重复来显示它:

// first prepare 
$scope.properties = $scope.properties.map(function (prop) {
  prop.thumbnail = VideoParser.getThumbNail(prop.video);
  return prop;
})

// then in html just use <img ng-src='{{ prop.thumbnail }}'>

另外值得一看的是Vimeo API是否允许获取一组缩略图而不是逐个查询它们。