Temos nativo no angularjs o ng-show e ng-hide, que é utilizado para mostrar ou esconder um elemento no dom. O que ele faz é utilizar a propriedade css “display:none” para esconder o elemento, mas o ele ainda continuará no dom.
Em algumas cituações pode ser conveniente remover completamente o elemento do dom caso uma certa condição não seja satisfeita. Para isto criamos uma directive.
angular.module('app',[]) .directive('ngIf', function() { return { link: function(scope, element, attrs) { if(scope.$eval(attrs.ngIf)) { // remove '<div ng-if...></div>' element.replaceWith(element.children()) } else { element.replaceWith(' ') } } } });
E no html você escreverá algo do tipo:
<div ng-if="condition"> <p>If condition === true show-me, else take-me dow from dom</p> </div>
Veja isto na prática acessando http://jsfiddle.net/csbenjamin/mvcEQ/7/