169 votes

Angular.js la directive templateURL dynamique

J'ai une balise personnalisée en routeProvider modèle que les appels pour un directive modèle. L' version attribut sera remplie par le champ d'application qui appelle ensuite pour le bon modèle.

<hymn ver="before-{{ week }}-{{ day }}"></hymn>

Il existe plusieurs versions de l'hymne basé sur ce que la semaine et la journée il est. Je m'attendais à utiliser la directive de remplir le bon .html partie. La variable n'est pas lu par l' templateUrl.

emanuel.directive('hymn', function() {
    var contentUrl;
    return {
        restrict: 'E',
        link: function(scope, element, attrs) {
            // concatenating the directory to the ver attr to select the correct excerpt for the day
            contentUrl = 'content/excerpts/hymn-' + attrs.ver + '.html';
        },
        // passing in contentUrl variable
        templateUrl: contentUrl
    }
});

Il y a plusieurs fichiers à partir d'extraits du répertoire qui sont étiquetés before-1-monday.html, before-2-tuesday.html, ...

311voto

Andrej Kaurin Points 1894
<pre><code></code><p><pre><code></code></pre><p><strong>contentUrl</strong> remplit avec chemin généré dynamiquement.</p></pre>

184voto

pgregory Points 439

Vous pouvez utiliser `` directive.

Essayez quelque chose comme ceci :

UPD. pour regarder des `` attribut

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X