ng-if is a directive similar to ng-show but inserts or removes the element from the DOM instead of simply hiding it. Angular 1.1.5 introduced ng-If directive. You can Use ng-if directive above 1.1.5 versions. This is useful because Angular will not process digests for elements inside a removed ng-if reducing the workload of Angular especially for complex data bindings.
Unlike ng-show, the ng-if directive creates a child scope which uses prototypal inheritance. This means that setting a primitive value on the child scope will not apply to the parent. To set a primitive on the parent scope the $parent property on the child scope will have to be used.
DOM If currentUser Is Not Undefined
DOM If currentUser Is Undefined
The ngIf directive accepts functions as well, which logically require to return true or false.
The span text will only appear if the function returns true.
As any Angular expression the function accepts any kind of variables.