how to check for null with a ng-if values in a view with angularjs?

All we need is an easy explanation of the problem, so here it is.

i have this situation

<div ng-repeat="test in current">
    <div ng-if="test.view == null">
        <i class="icon ion-checkmark"></i>

but test.view== null doesn’t work, neither just checking for test.view or test.view == ''

any ideas?



in the loop, sometimes test.view, has a value sometimes is NULL if i do:

<div ng-if="!test.view">1</div>
<div ng-if="test.view">2</div>

i will only see 1

How to solve :

I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.

Method 1

You should check for !test, here is a fiddle showing that.

<span ng-if="!test">null</span>

Method 2

See the correct way with your example:

<div ng-if="!test.view">1</div>
<div ng-if="!!test.view">2</div>

Regards, Nicholls

Method 3

You can also use ng-template, I think that would be more efficient while run time 🙂

<div ng-if="!test.view; else somethingElse">1</div>
<ng-template #somethingElse>


Method 4

Here is a simple example that I tried to explain.

    <div *ngIf="product">     <!--If "product" exists-->
      <h2>Product Details</h2><hr>
      <h4>Name: {{ }}</h4>
      <h5>Price: {{ product.price | currency }}</h5>
      <p> Description: {{ product.description }}</p>

    <div *ngIf="!product">     <!--If "product" not exists-->
       *Product not found

Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from or, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply