角度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); }