错误:[$ rootScope:infdig] 10 $ digest()迭代达成

时间:2015-08-18 08:29:20

标签: angularjs

我正在尝试将我的json输出的帖子显示在我的视图中,但是我收到了一个错误。

Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting! Watchers fired in the last 5 iterations: []

我做了一些研究,看起来我正在循环一个循环,导致Angular在我的浏览器出现之前“崩溃”。但我在代码中找不到错误。

这是我的家乡状态,如果我注释掉return post.getAll();行,显然我没有收到错误。

.state('home', {
  url: '/home',
  templateUrl: '../assets/angular-app/templates/_home.html.haml',
  controller: 'mainCtrl',
  resolve: {
    postPromise: ['posts', function(posts){
      return posts.getAll();
    }]
  }
})

getAll();在我的服务中引用。

.factory('posts', [
  '$http',
    function(){
      var o = {
       };
      return o;

      o.getAll = function() {
        return $http.get('/posts.json').success(function(data){
          angular.copy(data, o.posts);
        });
      };
    }
])

所以我认为错误应该是其中一个代码,任何想法?

我有2个模板,

posts.html.haml

%div{"ng-repeat" => "comment in post.comments | orderBy:'-upvotes'"}
  {{comment.upvotes}} - by {{comment.author}}
  %span{:style => "font-size:20px; margin-left:10px;"}
    {{comment.body}}

%form{"ng-submit" => "addComment()"}
  %h3 Add a new comment
  .form-group
    %input.form-control{"ng-model" => "body", :placeholder => "Comment", :type => "text"}
  %button.btn.btn-primary{:type => "submit"} Post

%a{"ui-sref" => "home"} Home

和home.html.haml

%form{"ng-submit" => "addPost()"}
  %input{:type => "text", "ng-model" => "title"}
  %button{:type => "submit"} Post

%h1
  Posts
%div{"ng-repeat" => "post in posts | orderBy: '-upvotes'"}
  {{ post.title }} - upvotes: {{ post.upvotes }}
  %a{:href => "#/posts/{{$index}}"} Comments

我已对这两个文件发表了评论,但仍然给出了错误。

1 个答案:

答案 0 :(得分:0)

经过一些研究后,我发现服务中的return o;应位于文件的底部。