角度2方式绑定视频播放事件不起作用

角度2方式绑定视频播放事件不起作用

问题描述:

我的2方式出价不起作用,它的工作原理如果我直接调用vm.Play()函数,但是当它从视频播放事件调用,然后它doesn没有工作。有谁知道为什么?角度2方式绑定视频播放事件不起作用

function VideoEventStats() { 
    var directive = { 
     restrict: "A", 
     replace: false, 
     scope: { 
      videoEventStats: "=" 
     }, 
     controller: controllerFunction, 
     controllerAs: "vm", 
     bindToController: true 
    }; 

    controllerFunction.$inject = ["$element"]; 

    function controllerFunction($element) { 
     var vm = this; 

     vm.Play = Play; 

     if($element.context.tagName === "VIDEO") { 

      angular.element($element).on('play', vm.Play); 

      $element.context.onended = function() { 
       console.log('ended..'); 
      }; 
     } 
     else { 
      console.warn('This element is not a video element'); 
     } 

     function Play() { 
      vm.videoEventStats.CurrentUserHasSeen = true; 
     } 
    } 

    return directive; 
} 

添加vm.videoEventStats.CurrentUserHasSeen = true;在$超时内诀窍...

function Play() { $timeout(function() { vm.videoEventStats.CurrentUserHasSeen = true; }, 0); }