簡體   English   中英

從angularJS中的回調內部更新$ scope

[英]Update $scope from inside callback in angularJS

我有這個控制器,我想從函數回調中更新$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

我沒有在上面的腳本和progressupdate上看到$apply函數。 設置后嘗試$apply ,或者在$apply設置:

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

要么

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

建議使用第一種方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM