The right way to go is to use: $compile and in case your directive returns: directive definition object (which is btw. the recommended way to go) you can then call link function on it (to inject scope, for example).
$('body').append($compile("<my-angular-directive />")(scope));
scope.$apply();