无法以角度js

时间:2015-06-09 05:41:42

标签: javascript angularjs

我正在尝试使用角度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(); 
    }
   }

我不知道这是否是播放视频的最佳方式.....

1 个答案:

答案 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();