I've been porting my JS / JQuery to AngularJS for the past 6 months to a singlepage Angular / Laravel app. What I thought was going to be a month's worth of work turned into a 6+ month vertical learning curve. I had to go back to the JS books.
It's the MVC framework for JS, but very different from many JS and MVC frameworks other than maybe Mustache, as it "compiles" HTML and therefore demands a very strict coding practice i.e. services, routes, views, etc. If you come from a C or any OOP background you will really like Angular and even then you will probably not like the DOM backbone approach. If you don't come from an OOP backgroud, but instead, a JQuery or intermediate JS background you are going to be very lost in the first couple of months. The word a seasoned friend of mine used last week was "reeling".
I'm about a week or two away from finishing the port of my authentication and form validation to Angular JS / Laravel e.g. validate field in Angular (very powerful) and then further validation with Laravel. The two combined really kick ass, but you cannot use blade template engine as it screws around with core compile concept ... in my case I ended up with screen flickering. Same goes for JQuery libraries like Datepicker, etc. I've had to write http interceptors for http header response, injection and error handling of 2xx, 4xx and 5xx Laravel http codes.
I'm finally at the point of where I'm starting to "enjoy" Angular, but will warn you that for the first 3 months I hated it and there were a number of occasions where I threw in the towel, but found myself returning every time I wrote some crappy JS code. Compared to Laravel where I loved it the first week.