Don't do it!

AngularFaces simplifies JSF by replacing AJAX by native client-side programming. It works best if you refrain
from using JSF AJAX. You hardly ever need AJAX. In most cases Javascript does the trick just as well, probably even better.

But if you insist: Well, yes, since AngularFaces 2.1 you can add JSF AJAX to an AngularFaces application.

Using traditional JSF AJAX with AngularJS

Marco Rinck contributed his great JUA library allowing AngularJS applications to survive a JSF request.
That's not an easy achievement: AngularJS assumes to have to control over the DOM tree. So does JSF.
Both frameworks get in each other's way, causing all kinds of problems, such as memory leaks
and cutting the connection of the HTML elements to the AngularJS scope.

In most cases, JUA solves these problems without further ado. When JSF updates the DOM tree, JUA takes care of
releasing memory claimed by AngularJS and initializing the updated DOM elements without
disturbing older DOM elements. Marco's library frees the memory allocated by AngularJS and
registers the updated region of your JSF view with AngularJS. You don't have to care about it, just leave it
to JUA.

However, as a rule of thumb, don't use traditional JSF AJAX requests with AngularFaces.
As of AngularFaces 2.1, even a great library like JUA has its limitations.

Re-initializing AngularJS after an AJAX request

In rare cases, AngularJS doesn't recover from an AJAX request. In this case you can re-initialize the AngularJS engine by adding
<ac:updateModelAfterAJAXRequest />. There's a caveat: most likely this causes client-side memory leaks.

Don't do it!

AngularFaces simplifies JSF by replacing AJAX by native client-side programming. It works best if you refrain
from using JSF AJAX. You hardly ever need AJAX. In most cases Javascript does the trick just as well, probably even better.

But if you insist: Well, yes, since AngularFaces 2.1 you can add JSF AJAX to an AngularFaces application.

Using traditional JSF AJAX with AngularJS

Marco Rinck contributed his great JUA library allowing AngularJS applications to survive a JSF request.
That's not an easy achievement: AngularJS assumes to have to control over the DOM tree. So does JSF.
Both frameworks get in each other's way, causing all kinds of problems, such as memory leaks
and cutting the connection of the HTML elements to the AngularJS scope.

In most cases, JUA solves these problems without further ado. When JSF updates the DOM tree, JUA takes care of
releasing memory claimed by AngularJS and initializing the updated DOM elements without
disturbing older DOM elements. Marco's library frees the memory allocated by AngularJS and
registers the updated region of your JSF view with AngularJS. You don't have to care about it, just leave it
to JUA.

However, as a rule of thumb, don't use traditional JSF AJAX requests with AngularFaces.
As of AngularFaces 2.1, even a great library like JUA has its limitations.

Re-initializing AngularJS after an AJAX request

In rare cases, AngularJS doesn't recover from an AJAX request. In this case you can re-initialize the AngularJS engine by adding
<ac:updateModelAfterAJAXRequest />. There's a caveat: most likely this causes client-side memory leaks.