2016-08-24 175 views
0

我正在构建一个带有角度的自定义视频组件,并且正在外部传递来源。不使用该组件时,视频显示效果良好。使用组件时,即使我可以看到源成功传入(通过检查元素),视频也不会显示。我有一种感觉,这与某种生活周期有关。视频组件不显示视频(显示白色屏幕)

代码:

主页:

<customvideo srcs="video.srcs"></customvideo> 

(video.srcs为src URL和MIME类型的列表)

组件:

angular.module('home.app').component('customvideo', { 
templateUrl: ['config', function(config) { 
    return config.TEMPLATES_URL + 'customvideo.template.html'; 
}], 
bindings: { 
    srcs: '<' 
}, 
controller: ['config','UserRest', 'CultureRest', 'tSpaceRest', function HomeController(config, UserRest, CultureRest, tSpaceRest) { 
    var vm = this; 

}] 
}) 

最后模板:

<video class="full-video"> 
<source ng-repeat="src in $ctrl.srcs" ng-src="{{src.url | trustUrl}}" type="{{src.mimeType}}"/> 
</video> 

编辑:这个问题实际上并没有像我以前想的那样与REST调用。手动将源插入组件中仍未显示视频。我将不得不看看并尝试破译我的和Mathieu的不同点

+0

我无法再现您的问题,我给你我的试玩者试试https:/ /plnkr.co/edit/7afE9xFJ15JENgwmEmGY?p=preview – Mathieu

+0

嘿mathieu,我编辑了重要的信息,我认为是不同的(我的来源是从一个平静的呼叫拉)的帖子。我通过在加载srcs之前添加一个超时模拟了你的闯入者的安静通话,并且现在视频从不出现。谢谢,这是一个重要的说明,使https://plnkr.co/edit/ER9eOUOfgMqx0Y9T1KY8?p=preview – pasquers

+0

上面的评论是不正确的,或者至少REST调用不是问题(可以看看编辑) – pasquers

回答

0

所以我的答案与加载时间或依赖关系无关。问题是,当我更改视频时,我忘记了在视频中包含“控件预加载”选项...