Consider a bit of code:
<div id="dest">
<p>Original Content</p>
<p>Some data</p>
<ul>
<li ng-repeat="i in items">{{i.name}}</li>
</ul>
</div>
or, using jsf, a panel:
<h:panelGroup id="dest">
Angularjs will understand the directive ng-repeat, and then, it will replaces the tag <li> by items list.
But, if your html has changed, by an ajax load, or by a jsf reRender, the new content doesn't will be recognized by AngularJS:
$('#dest').load('replace.html');