2

我收到一个错误,随机的,有时会发生,有时不会。我无法确定要解决的问题。

有谁知道错误原因或如何预防?

我的代码:

angular.module('VigiApp').controller('FeedsController', ['$scope', 'gettextCatalog', 'FirebaseURL', '$ngBootbox', function($scope, gettextCatalog, FirebaseURL, $ngBootbox) {
    $scope.contents = [];
    isSpinnerBar(false);

    $scope.init = function(){
        isSpinnerBar(true);
        // Get a database reference to our posts
        //auth
        var fbAuth = FirebaseURL.getAuth();
        //Ref
        var norm = new Firebase.util.NormalizedCollection(
                FirebaseURL.child('contents'),
                [FirebaseURL.child('categories'), 'category', 'contents.category_id']
        );
        // get a reference we can use like a normal Firebase instance
        ref = norm.select('contents.category_id', 
                'contents.dt_created', 
                'contents.num_comment', 
                'contents.num_favorite', 
                'contents.text', 
                'contents.photos', 
                'contents.user_id', 
                {key: 'category.name.$value', alias: 'category_name'},{key: "category."+$scope.currentLanguage+".$value", alias: 'category_name_language'},{key: 'category.icon.$value', alias: 'category_icon'}).ref();        
        // Attach an asynchronous callback to read the data at our posts reference
        ref.orderByChild("dt_created").limitToFirst(2).on("value", function(snapshot) {
            console.log(snapshot.val());
            var res = snapshot.val();
            $scope.$apply(function() {
                $scope.contents = res;
                isSpinnerBar(false);
                isButtonActivedFeed();
              });           
        }, function (errorObject) {
            console.log("The read failed: " + errorObject.code);
            isSpinnerBar(false);
        });     
    }

    $scope.share = function(e){
    }
}]);

警告:

FIREBASE WARNING: Exception was thrown by user callback. Error: [$rootScope:inprog] http://errors.angularjs.org/1.4.7/$rootScope/inprog?p0=%24digest
 ....

附上在此处输入图像描述

例外:附加在此处输入图像描述 =(

4

1 回答 1

3

好的,为这个帖子道歉,我在谷歌上搜索了很多后找到了一个解决方案。

我一直在寻找 firebase 或 firebase-util,但在页面之间导航时我的角度有误。

解决方案对我有用:

        var res = snapshot.val();
        $timeout(function(){
        $scope.$apply(function() {
            $scope.contents = res;
            isSpinnerBar(false);
            isButtonActivedFeed();
          });           
        });

解决方案,原因: AngularJS:防止错误 $digest 在调用 $scope.$apply() 时已经在进行中

请,如果其他人有同样的问题/疑问,我会保留这个问题。

于 2015-12-31T13:44:12.283 回答