ng-show (and its sibling ng-hide ) toggle the appearance of the element by adding the CSS display: none style. ng-if , on the other hand, actually removes the element from the DOM when the condition is false and only adds the element back once the condition turns true .