As stated in previous post, Breeze required data.js for to understand OData conventions. All functions performing CRUD operations in Breeze return a Q promise. Any changes made to properties of $scope inside then method of Q are not watched automatically by Angular, as Q is a non-angular component. To make the changes visible, we need to explicitly call $scope.$apply(). To avoid this difficulty, Breeze team created an extension to convert Q to$q. Name of the extension is to$q, it can be found on GitHub.
We don’t need jQuery anymore as Breeze detects presence of Angular and configures its AJAX adapter to use $http.
As both Angular and Breeze are JavaScript libraries, they can be easily used together. But we can’t enjoy the usage unless we follow the architectural constraints of Angular JS. The moment we include Breeze.js in an HTML page, the JS object “breeze” is available in the global scope. It can be used directly in any of the JavaScript components, Angular controllers and services are no exceptions. Best way to use an object in any Angular component is through Dependency Injection.