From what I gather here, you're showing the link to the students store unless (all?) the book details have the has_choices flag set to true. I believe it also assumes that there will never be more than three book details, which may or not be true.

I'm wondering if it wouldn't be better to make a helper method in the controller that loops through and breaks out as soon as it sees a book with no choices.  That could be a good refactoring option and could reduce the complexity of this ng-if statement.

Just a suggestion....