2016-06-28 2 views
3

Почему я не могу удалить элемент из сообщений массива?Как удалить элемент из массива angularjs?

HTML тег для удаления элемента

html tag 
<span ng-click="remove($index)"> delete</span> 

//AngularJS method where I try to delete item 
blog.remove = function(index) { 
blog.posts.splice(index, 1); 
}; 

//Angular array posts 
blog.posts = [{ 
    "title": "Blog Post One", 
    "comments": [ 
     { 
     "body":"Lorem ipsum dolor sit amet, consectetur adipisicing elit. ", 
     "author": "trollguy87" 
     } 
    ]}]; 

Где может быть проблема?

+0

одна возможность заключается в том, что индекс вы передаете в функции удалить неправильно. Попытайтесь увидеть индекс console.log перед этим утверждением сплайсинга. – Yogesh

+1

Возможно, добавьте еще немного кода. Трудно сказать, в чем дело, просто глядя на этот фрагмент. По проблеме я вижу, что 'remove' получает вызов в области видимости. Но вы определились в самом блоге. Так, разве это не должно быть 'blog.remove ($ index)'? И что такое '$ index'? Исходя из своего рода 'repeat', я предполагаю, что – Chanthu

+1

Просьба отправить код, содержащий часть' ng-repeat', в настоящее время сложно определить, как вы управляете '$ scope/vm' – Icycool

ответ

0

Если вы используете ng-repeat, то это может помочь:

<div ng-repeat="key in posts"> <!-- This will use your blog.posts --> 
    <button ng-click="posts.splice($index, 1)"> 

     {{key.title}} 
    </button> 
</div> 
Смежные вопросы