This question is a bit subjective, however here was our reasoning.
- Let the client handle rendering of pages, free up resources on the server.
- Leverage built in caching of cache servers since we are just dealing with
<html/>
content. - Since the pages are cached the only traffic back and forth is json payloads.
- We have been using NancyFx, but WebAPI or Service Stack would work just fine.
- We wanted to build a responsive single page application and AngularJs fit the bill for testability as full feature rich framework.
- AngularJs forces you into a pattern that we needed for JavaScript, in the past our jQuery heavy applications turned into functional spaghetti (That was our fault but being guided by Angular helped out a lot).
As with all frameworks pick the one that suites your needs