In terms of structure AngularJS is more Modular than MVC one.
Classic MVC describes 3 simple layers which interact with each other in such way that Controller stitches Model with View (and Model shouldn’t rather work with View directly or vice versa).
In Angular you can have multiple, some completely optional, entities which can interact between each other in multiple ways, for example:

That’s why there are multiple ways of communicating your data between different entities. You can:
- Send messages directly between controllers using difference between
thisand$scope - Send messages using events
- Send messages using shared system (Note: same link as above, answer shows both techniques)
or
- Send messages using AJAX backend
- Send messages using external system (such as MQ)
…and a lot more. Due to its diversity Angular allows developer/designer to choose way they are most comfortable with and carry on. I recommend reading AngularJS Developer Guide where you can find blessed solutions to some common problems.