2016-04-13 14 views
1

Ich habeEckig. Wie kompiliere Direktive innerhalb der Direktive?

<div id="content"><div> 

ich meine Anweisung eingefügt werden soll. Ich habe

html = $compile('<test></test>')($scope); 
$("#content").html(html); 

Meine Richtlinie:

app.directive("test", function ($compile, $route) { 
    return { 
     restrict: "E", 
     templateUrl: "/Templates/test.html", 
     controller: function ($scope, $location) {}, 
     controllerAs: "page" 
    }; 
}); 

"/Templates/test.html":

... some code ... 
<category></category> 

Richtlinien Test und Kategorie einige Daten vom Server laden. Aus bestimmten Gründen funktioniert Kategorie, aber Test nicht. Weiß jemand warum? Danke

+1

Zuerst warum wollen Sie Ihre wie dies in Ihrem #content injizieren? Wenn Sie den Inhalt entsprechend dem aktuellen Pfad/Status Ihrer Anwendung ändern möchten, verwenden Sie ngRoute (nativ) oder ui-router (3rd-Party-Bibliothek). Sie sollten niemals $/augular.element in anderen Dingen als Direktive verwenden. – Walfrat

Antwort

0

Sie könnten aufgefordert werden, Ihre Richtlinie neu zu kompilieren. Fügen Sie am Ende der Link-Funktion folgenden Code:

$compile(element.contents())(scope); 

Einige nützlichen Informationen hier: $complie

+0

Danke für die Antwort. Aber ich verstehe nicht, wie es meinen Fall benutzt. $ compile ($ compile ('') ($ scope) .contents()) ($ scope) -? – Badfishmaan

Verwandte Themen