Insertar directiva programáticamente angular
Así que básicamente quiero poder activar un evento y luego compilar una directiva e insertarme en una posición en el DOM. Actualmente tengo algo como esto
//controller
angular.module('app').controller('MainCtrl', function ($scope, $compile) {
$scope.$on('insertItem',function(ev,attrs){
var el = $compile( "<chart></chart>" )( $scope );
$scope.insertHere = el;
});
});
// directive
angular.module('app')
.directive('chart', function () {
return {
template: '<div>My chart</div>',
restrict: 'E',
link: function postLink(scope, element, attrs) {
element.text('this is a chart');
}
};
});
Puedo ver el objeto "el" con todo lo que necesito, pero no puedo insertarlo en el DOM ... ¿alguna pista?