modèle dynamique de la directive en angularjs

J'ai besoin de décider de le modèle basé sur la date. J'ai vu un bon exemple.
Mais dans cet exemple, les modèles sont tellement simples qu'il pouvait s'en servir cordes. Dans mon cas, je veux utiliser le php pour produire les modèles, j'ai donc utilisé de cette façon:

eng.directive('vis', function ($compile) {
var getTemplate = function(ir) {
    var k = (ir.visits.last && parseInt(ir.visits.last.done))?'V':'E';
    var s = (ir.data.kind == 0)?'H':'V';
    return s+k+'T';
}

var linker = function(scope, element, attrs) {
    scope.$watch('ir',function(){
        if (!scope.ir) return;
        element.html(jQuery('#'+getTemplate(scope.ir)).html()).show();
        $compile(element.contents())(scope);
    })
}
return {
    restrict: "E",
    rep1ace: true,
    link: linker
};});

et les modèles sont:

<div id=HVT style="display:none">
    <p>horizontal view template</p>
</div>
<div id=HET style="display:none">
    <p>horizontal {{1+5}} Edit template</p>
</div>
<div id=VVT style="display:none">
    <p>vertical view template</p>
</div>
<div id=VET style="display:none">
    <p>vertical Edit template</p>
</div>

Je suis sûr qu'il ya une façon plus intelligente.
est-il préférable d'utiliser templateUrl ? quelqu'un pourrait me dire comment l'utiliser dans mon cas?

Edit: il y a un problème. le modèle ne prend pas en voir la portée

OriginalL'auteur Aladdin Mhemed | 2013-03-14