0

Dans mes app.js JeComment compiler une directive qui est chargée dynamiquement onclick event?

$scope.onclick = function(){ 
     // appending directve "exmDir" to body. 
      document.body.setAttribute('exm-dir', ''); 
} 

Le exm-dir est apposent au corps, mais il ne montre pas son contenu. Comment puis-je compiler? Aidez-moi, s'il vous plaît.

+0

Départ: https://docs.angularjs.org/api/ng/service/$compile. Prob dans votre cas $ compile (document.body) ($ scope); – Developer

+0

Dans quel contrôleur je devrais écrire? Si j'ai 'mainController' dans le corps et' dirCntrl' dans 'exm-dir'. –

+0

à l'intérieur de la méthode '$ scope.onclick' après avoir injecté la directive' exm-dir' – Developer

Répondre

0

Vous pouvez faire comme

function compile(element){ var el = angular.element(element);
$scope = el.scope(); $injector = el.injector(); $injector.invoke(function($compile){ $compile(el)($scope) })
}

$scope.onclick = function(){ // appending directve "exmDir" to body. var el = document.body; el.setAttribute("exm-dir", ""); compile(el); }

+0

montrant injector() scope() pas les fonctions de l'élément –

+0

Vous pouvez essayer ce code de liaison http://codepen.io/dhanrajjay/pen/QGBbjz – Raj