Turns out splice works on $index:


<div ng-repeat="post in posts">
  <button type="button" ng-click="posts.splice($index,1)">
</div>