我正在尝试将我的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
我已对这两个文件发表了评论,但仍然给出了错误。
答案 0 :(得分:0)
经过一些研究后,我发现服务中的return o;
应位于文件的底部。