AngularJS implementation
I would like to just comment on this, because my answer is not exactly a solution to your particular implementation, but I do not have enough reputation :/

I will just say that in my opinion your approach to the problem is wrong. Because you are loading Angular as a JS library from Drupal, you are adding lots of unnecessary overhead to your application, especially to the initial load of the page and you are defeating the purpose of using a Front-end framework.

In my experience, using a Front-end framework like Angular is a solution to completely decouple the Front-end from the Back-end. So my suggestions is just that:

Create a regular Angular application and inside that Angular app you create a sub-folder that will contain your Drupal application.

And from this point on you can use REST webservices for fetching the data from Drupal. The core Views module combined with the core REST module provides out of the box Drupal functionality for this, and in addition Symfony provides the JsonResponse class that you use for sending simple responses. ( I really recommend using the JsonResponse, because it just bypasses Drupal's entire rendering system)

This way, you have nice Back-end code that can be organized in different controllers, which will callbacks to routes exposed as REST endpoints and a completely decoupled Front-end layer that will only call a number of select REST methods on different routes.

PS: for more information on this topic, please search for the term Headless Drupal, and you will find lots of helpful info