视频播放事件中的 Angular 2 路绑定不起作用

Angular 2 way binding in video play event doesn't work

本文关键字:绑定 不起作用 Angular 播放 事件 视频      更新时间:2023-09-26

我的 2 路出价不起作用,如果我直接调用 vm.Play() 函数,它就会起作用,但是当它从视频播放事件中调用时,它不起作用。有谁知道为什么?

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; 在$timeout里面做了这个把戏...

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