Patrioticcow
Patrioticcow

Reputation: 27038

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

i have this situation

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

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

any ideas?

thanks

edit:

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

Upvotes: 61

Views: 273328

Answers (4)

Lucas Polonio
Lucas Polonio

Reputation: 1011

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

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

Upvotes: 59

Arsman Ahmad
Arsman Ahmad

Reputation: 2211

Here is a simple example that I tried to explain.

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

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

Upvotes: 1

Devflovv
Devflovv

Reputation: 475

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>
    <div>2</div>
</ng-template>

Cheers

Upvotes: 2

jdnichollsc
jdnichollsc

Reputation: 1569

See the correct way with your example:

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

Regards, Nicholls

Upvotes: 28

Related Questions