Comment détruire la portée manuellement dans angularjs si un élément est supprimé à partir de javascript?

Je suis insertion angulaire de modèle à l'élément.
Considérons l'exemple suivant,

HTML:

<p>
  <c ng-controller="ctrl">
    ...
  </c>
</p>

si je supprime c à partir de javascript.
Ce qui va avoir des effets secondaires? (champ de fuite)
Comment faire pour éviter cela?

J'ai utilisé cette,

JS:

function render() {
    var lastScope = angular.element('c').scope();
            
    if(lastScope) {
        lastScope.$destroy();
    }

    $('c').remove();

    getTemplate(context + '/c.html', function(template) {
        if (template) {
            angular.element(document).injector().invoke(['$compile', '$rootScope', function($compile, $rootScope) {
                $('p').append($compile(template)($rootScope));
                $rootScope.$apply();
            }]);
        } 
    });
}

quand je clique sur l'onglet render fonction appelée à chaque fois.
Toutes les autres suggestions?

  • Vous pouvez éviter cela en utilisant ng-si, avec les supprime complètement l'élément et la portée
InformationsquelleAutor ram1993 | 2016-09-19