I assume the warning allows the browser to display before angular finishes its job by adding setTimeout with a 0 delay, show the rendered template:
http://jsfiddle.net/g/FLZZR/5/
function TemplateController ($scope) { $scope.expression = "This should already be rendered..."; setTimeout(function(){ alert("... but it isn't."); }); }
Additional note: you cannot expect the template to appear in the place where you place your warning, at best it will be hidden, angular use a dirty check to do its magic, and you must let it "digest" your changes for them in the DOM.
source share