角度编辑数组中的每个帖子

时间:2014-11-19 13:26:18

标签: angularjs controller angularjs-scope

我有一系列帖子:

.factory('posts', [function(){
  var o = {
    posts: [
        {title: 'post 1', upvotes: 5},
        {title: 'post 2', upvotes: 2},
        {title: 'post 3', upvotes: 15}
    ]
  };
  return o;
}])

和控制器。我想在点击按钮时编辑所有upvotes,所以我有以下内容。

angular.forEach($scope.posts, function(title){
    $scope.posts.push({
            title: "ja"
    });
});

但显然这是在创建新帖子。有谁知道如何编辑现有的? 感谢

1 个答案:

答案 0 :(得分:1)

要在点击按钮时更新所有帖子的upvotes值,您必须将forEach更改为:

angular.forEach($scope.posts, function(post){
    post.upvotes++;
});

但如果它只是一个名为“ja'那么你需要这样的东西:

angular.forEach($scope.posts, function(post){
    if (post.title === 'ja') {
        post.upvotes++;
    }
});