我有一系列帖子:
.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"
});
});
但显然这是在创建新帖子。有谁知道如何编辑现有的? 感谢
答案 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++;
}
});