Javascript 从angularJS中的内部回调更新$scope

Javascript 从angularJS中的内部回调更新$scope,javascript,angularjs,scope,angularjs-scope,Javascript,Angularjs,Scope,Angularjs Scope,我有这个控制器,我想从函数回调中更新$scope.progress。我尝试使用$rootScope和$scope.apply()但无法使其工作。 有什么我遗漏的吗 progressupdate是事件返回的变量。 代码与此不完全相同。我在这里非常简单地展示了它的结构 app.controller('player', function($scope) { var show = function(url) { function(err, showOK) {

我有这个控制器,我想从函数回调中更新
$scope.progress
。我尝试使用
$rootScope
$scope.apply()
但无法使其工作。 有什么我遗漏的吗

progressupdate是事件返回的变量。 代码与此不完全相同。我在这里非常简单地展示了它的结构

app.controller('player', function($scope) {

    var show = function(url) {
        function(err, showOK) {
            if (err) {
                console.log(err);
            } else {
                showOK.on('listening', function(){
                     $scope.progress = progressupdate;
                });
            }
        });
    }

    show(url);

});
我是否在控制器内错误地运行该功能? 我应该用这样的东西吗

 $scope.show = function(url)...etc

我在上面的脚本中没有看到
$apply
函数和progressupdate。在设置后尝试
$apply
,或将其设置在
$apply
内:

showOk.on('listening', function(){
   $scope.$apply(function(){
      $scope.progress = progressupdate;
   });
});


建议使用第一种方法。

您的示例在语法上不正确。不确定这是一个糟糕的复制/粘贴还是实际问题。哎呀,一些糟糕的复制面食。我想我已经筋疲力尽了,因为我以前试过你的建议,但没能让它工作!谢谢
showOk.on('listening', function(){
   $scope.progress = progressupdate;
   $scope.$apply();
});