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