Javascript 从函数返回的Stange值(使用popcorn.js、angular和jade)

Javascript 从函数返回的Stange值(使用popcorn.js、angular和jade),javascript,node.js,angularjs,pug,Javascript,Node.js,Angularjs,Pug,谢谢你的阅读 我有一个“奇怪”的问题。我正在一起运行Angular和Jade(在节点服务器上),并实现了popcorn.js(一个html5媒体框架,popcornjs.com) 爆米花上有一个名为currentTime()的事件属性,因此当您调用Popcorn.currentTime()时,它会为您提供它正在播放的视频的当前时间。此功能在console.log(Popcorn.currentTime())中工作;但由于某种原因,当我试图从函数中得到相同的值时,我得到的值是'9' 我会列出我的角

谢谢你的阅读

我有一个“奇怪”的问题。我正在一起运行Angular和Jade(在节点服务器上),并实现了popcorn.js(一个html5媒体框架,popcornjs.com)

爆米花上有一个名为currentTime()的事件属性,因此当您调用Popcorn.currentTime()时,它会为您提供它正在播放的视频的当前时间。此功能在console.log(Popcorn.currentTime())中工作;但由于某种原因,当我试图从函数中得到相同的值时,我得到的值是'9'

我会列出我的角度控制器和我的Jade代码。我的问题在//显示当前时间部分:

这是我的角度控制器:

  angular.module('app').controller('mvEditCtrl', function ($scope,     mvNotifier,mvIdentity,$location){ 

 $scope.identity = mvIdentity;   
 $scope.videoID = $location.search().id;

})
  //This custom directive holds the loading of the Popcorn video to avoid race condition. 
  .directive('popcornVideo', ['$timeout', function (timer) {
    return {
        scope: false,
        link: function ($scope) {
          timer(function () {
            var video = Popcorn.smart(
             '#video',
             $scope.videoID);

            //>>****Show current time. 
            $scope.theTime = setInterval(function() { 
              video.currentTime();
              console.log(video.currentTime());
              var time = video.currentTime();
              return time;
            },1000);

          }, 0);
        }
    }
}]);
这是我的Jade代码(参见我调用{{theTime}})。值得注意的是,我曾尝试在这里使用ng bind,并在Dom(9)中使用相同的重用结果

所以在重述中,{{theTime}}在页面上呈现为“9”,console.log显示当前的视频时间(2:34)等等

非常感谢

setInterval()
返回计时器的id,以便稍后清除。请改为尝试此操作(使用
$interval
服务,以便angular知道
时间何时更新

.directive('popcornVideo', ['$interval', function ($interval) {
    return {
        scope: false,
        link: function ($scope) {
            var video = Popcorn.smart(
                '#video',
                $scope.videoID);

            //>>****Show current time. 
            $interval(function() { 
                $scope.theTime = video.currentTime();
            },1000);
        }
    }
}]);

嗨,安东尼-这对我很有用-非常感谢。关于9是从哪里来的也很有趣。我真的搞不懂。谢谢!杰西
.directive('popcornVideo', ['$interval', function ($interval) {
    return {
        scope: false,
        link: function ($scope) {
            var video = Popcorn.smart(
                '#video',
                $scope.videoID);

            //>>****Show current time. 
            $interval(function() { 
                $scope.theTime = video.currentTime();
            },1000);
        }
    }
}]);