Please excuse me, I'm new to angularJS, and frequently neglect strict MVC standards, probably to the detriment of my free-time, so am unfamiliar with the practices for injection & modules.
My immediate aim is to tie in angular data-binding, and controller <-> dom initialization. I absolutely love the simplicity of <div ng-controller="com.app.Class"><input type="text" ng-model="likeABoss"><p>{{likeABoss}}</p></div>
This alone is exciting! From there I wanted com.app.Class dynamically appended to the class attribute, and for directives to instruct autoloading of com.app.Class.js & com.app.Class.css. And because I'm a demon, to get a reference to the controller's target element, so I could spill jQuery event listeners/handlers in my controller }: )
To do that I wrote a base Controller class that all of my ng-controller's inherit from. Additionally you can optionally autoload external HTML as content of the controller, so the ng-controller div can be written into a page as a sliver without all of it's content, and be auto-populated from the external partial. The controller's markup becomes just: <div ng-controller="com.app.Class" />
It works very nicely. A potential problem is that if you have a few controllers working together, when an action of one depends on the other being available, it may not be. It's only a problem if you're unaware of this, otherwise you can add spaghetti code to check for the existence of the dependency before executing the handler. I don't a automagic solution for that at this time, you just have to be aware of it and then it's not a problem. I was thinking of using an intermediary method between controllers that checks for availability, and defers requests to be executed when it becomes available.
I really appreciate that you've put together, and shared angularJS. I hope to familiarize myself with the recommended angular / strict MVC ways overtime. It's hard to balance learning a new framework, and getting things done sometimes. I wish I'd have come across angular a few months ago! Thank you