Видимо, в моем случае возможен только "плохой вариант" - $compile.
Как я ни пытался по-другому приладить директиву на родину, ничего не вышло.
С помощью официальной доки сделал следующее:
Объявление модуля
var arm = angular.module("arm", ["jqwidgets"], function($compileProvider) {
$compileProvider.directive('compile', function($compile) {
return function(scope,element,attrs) {
scope.$watch(
function(scope){
return scope.$eval(attrs.compile);
},
function (value) {
element.html(value);
$compile(element.contents())(scope);
}
);
};
});
});
В контроллере, который создает окно jqxwindow, определяем html:
$scope.showWindow = function (pageName) {
$rootScope.jqxWindowSettings.apply('open');
$rootScope.html = ('<div class="' + pageName + '"></div>');
};
После этого у меня в модальном окне стали динамически подгружаться нужные директивы в зависимости от значения pageName.
Думаю, что вышеприведенный код еще можно причесать для большей красоты, пока еще этим не занимался и не очень понимаю, как оно работает.. Но работает :)