你绝对应该使用 AngularJS。
如果您想使用绑定更改视频中的 src,现在有一个错误,但是您可以使用简单的 javascript 来做到这一点。
尽管您不应该在控制器中进行 dom 转换,但我认为您可以在这里例外。
在您的控制器 main.js 中,您必须创建一个函数来设置视频:
$scope.videos = [
{url: "http://www.videogular.com/assets/videos/videogular.mp4", type: "video/mp4"},
{url: "http://www.videogular.com/assets/videos/videogular.webm", type: "video/webm"},
{url: "http://www.videogular.com/assets/videos/videogular.ogg", type: "video/ogg"}
];
$scope.onClickVideo = function(id) {
$scope.setVideo(id);
};
$scope.setVideo = function(id) {
var sourceElement = angular.element("videogular video");
sourceElement[0].src = $scope.videos[id].url;
sourceElement[0].type = $scope.videos[id].type;
};
因为您将视频文件直接设置为您的标签,所以您的指令video
中不能有任何source
标签:videogular
<videogular vg-width="config.width" vg-height="config.height" vg-theme="config.theme.url" vg-autoplay="config.autoPlay" vg-stretch="config.stretch.value" vg-responsive="config.responsive">
<video preload='metadata'>
<track kind="captions" src="assets/subs/pale-blue-dot.vtt" srclang="en" label="English" default></track>
</video>
<!-- more directives -->
</videogular>
您应该考虑到也许您应该控制每个浏览器和操作系统的视频源,因为您只能设置一个视频文件。