我正在尝试使用角度js创建视频播放器。我无法播放视频。以下是我的尝试。
videoPlayer.factory('controloptions',function()
{
var controloptions={};
controloptions.state="play";
controloptions.volumestate="high";
controloptions.videoElement=angular.element(document.querySelector("#video_play"))
controloptions.play1=function($event)
{
angular.element(document.querySelector("#video_play")).play();
alert("a")
},
controloptions.pause1=function($event)
{
console.log(controloptions.videoElement)
//controloptions.state="pause";
angular.element(document.querySelector("#video_play")).pause();
}
}
我不知道这是否是播放视频的最佳方式.....
答案 0 :(得分:0)
angular.element创建一个jquery / jqlite元素,其中包含a very specific set of methods。 play()不是其中之一。
document.querySelector("#video_play").play(); // Works
angular.element(document.querySelector("#video_play"))[0].play(); // Works as well
创建一个jquery-object是没有意义的,除非你至少将它保存起来供以后使用。
但它是 angular way™吗?也许。你可以在指令中烘焙它并将其隐藏起来,但你必须在某个时候调用html元素。
// Perhaps something along those lines to make it look cleaner.
$scope.video = $element.find('video')[0];
$scope.video.play();