2014-11-19 2 views
0

У меня есть массив сообщений:Угловая редактировать каждый пост в массиве

.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

пос [индекс] .title = 'JA' –

ответ

1

Чтобы обновить значение upvotes всех сообщений по нажатию кнопки вы должны изменить свой Foreach на:

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

Но если это должно было быть только, специфические один называется «JA», то вы должны были бы так что-то вроде этого:

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

было больше для этого 'angular.forEach ($ scope.posts, функция (должность) {post.upvotes = 5 глядя ;}); 'но ты ответил на мой вопрос. Спасибо за помощь – bboy

Смежные вопросы