Insérer une directive angular par programmation

Donc, je veux essentiellement être capable de déclencher un événement, puis de comstackr une directive et de s’insérer dans une position du DOM. Actuellement, j’ai quelque chose comme ça

//controller angular.module('app').controller('MainCtrl', function ($scope, $comstack) { $scope.$on('insertItem',function(ev,attrs){ var el = $comstack( "" )( $scope ); $scope.insertHere = el; }); }); // directive angular.module('app') .directive('chart', function () { return { template: '
My chart
', ressortingct: 'E', link: function postLink(scope, element, attrs) { element.text('this is a chart'); } }; });

Je suis capable de voir l’object “el” avec tout ce dont j’ai besoin mais je ne peux pas l’insérer dans le DOM … des indices?

Vous devez d’abord créer l’élément dom, puis le comstackr et l’append au document. Quelque chose comme ça:

 $scope.$on('insertItem',function(ev,attrs){ var chart = angular.element(document.createElement('chart')); var el = $comstack( chart )( $scope ); //where do you want to place the new element? angular.element(document.body).append(chart); $scope.insertHere = el; }; 

J’ai créé un exemple simple ici: http://plnkr.co/edit/n7SZpyeQ9nbjVSYA7ibB?p=preview