Yes, there are at least 2 solutions for this:
- Use the
scriptdirective (http://docs.angularjs.org/api/ng.directive:script) to put your partials in the initially loaded HTML - You could also fill in
$templateCache(http://docs.angularjs.org/api/ng.$templateCache) from JavaScript if needed (possibly based on result of$httpcall)
If you would like to use method (2) to fill in $templateCache you can do it like this:
$templateCache.put('second.html', '<b>Second</b> template');
Of course the templates content could come from a $http call:
$http.get('third.html', {cache:$templateCache});
Here is the plunker those techniques: http://plnkr.co/edit/J6Y2dc?p=preview