The solution is to remove total-items from your dir-paginate directive.
Here is a plunker with the simple example.

The total-items attribute is used when you do async calls to get each page items.
So, first async call you get items for first page, and when you change the page you are supposed to get from the server the items for the corresponding page.
The total-items tell the pagination directive how many pages you have in total, so it knows how to build the element.

If you want an async call for each page, you use total-items and you implement pageChanged where you do another async call.