我正在尝试将video.js
库连接到我的应用程序中。在应用程序的某一部分,用户可以上传可能包含视频的文件,因此在输出时,我使用ng-repeat
循环浏览视频上传,并输出HTML5
视频标签。我现在想将指令附加到视频标签,以便video.js
可以与它一起使用。
我的视频输出定义为
<video ng-src="{{video.url}}" ng-repeat="video in post.attachments.video" type="{{video.mimetype}}" controls preload="metadata" id="video_{{video.id}}" video>
对于我的video
指令,我基本上只是想运行videojs
函数来设置它,所以我想调用
videojs(attrs.id, {
controls: true,
preload: "metadata",
techOrder: ["flash"]
}, function() {});
这被调用了,但我遇到的问题是,ng-repeat
当调用这个指令时,还没有完成所有事情,所以attrs.id
仍然video_{{video.id}}
不是video_23
我想要的东西。
在我的视频指令运行之前,我怎样才能等到ng-repeat
它完成它的事情,以便我知道我可以使用 ID 属性?
我目前正在使用 Angular 1.1.4。
现在,我的指令有
app.directive("video", function($parse) {
"use strict";
return {
restrict: "A",
link: function(scope, elm, attrs) {
videojs(attrs.id, {
controls: true,
preload: "metadata",
techOrder: ["flash"]
}, function() {});
}
};
});