Angular 关于视频加载事件

Angular on video load event

我还在努力理解angular...

基本上,我有一个 html5 视频,我想收听 onloadeddata 事件 (http://www.w3schools.com/jsref/event_onloadeddata.asp)。

这是我的:

html:

<video autoplay="autoplay" loaded-data loop style="display: none;">
  <source src="videos/example.mp4" type="video/mp4">
  <source src="videos/example.ogg" type="video/ogg">
</video>

指令:

angular.module('myApp')
  .directive('loadedData', function () {
    return function ($scope, $element) {
      $element.addEventListener("loadeddata", function () {
        console.log('test'); // never calls
      });
    }
});

这是正确的处理方式吗?出于某种原因,事件侦听器永远不会被调用。

我也试过了

$element.bind('loadedData', function () {
    console.log('test');
});

但它也不起作用...

想通了!看起来我需要使用:

$element[0].addEventListener(...)

而不是:

$element.addEventListener(...)
$element.on('loadeddata', function (event) {
   var width = $element[0].videoWidth;
}

'loadeddata' 适合我 'loadedData' 不适合