AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly. Angular's data binding and dependency injection eliminate much of the code you would otherwise have to write.
Using SPAs makes your site feel a lot more like an app than a website. If you'd like to learn more about Angular, check out their official documentation at https://code.angularjs.org/1.2.26/docs/guide/introduction.