Jyina
Jyina

Reputation: 2902

Angular ng-if for checking empty string not working

In my view, I have the below code to display some data from angular scope variables. The first two lines work fine. They display data from the scope variables but the line from ng-if does not display. What is wrong with my ng-if condition?

<div ng-controller="PaymentCtrl">

    <h3>Payment successfully posted {{PaymentID}}</h3>

    <h3> Receipt number {{ReceiptNumber}} </h3>

    <div ng-if="{{ReceiptNumber}}">
        <h3>Receipt generated with receipt number {{ReceiptNumber}}</h3>
    </div>

</div>

Upvotes: 2

Views: 7717

Answers (1)

scniro
scniro

Reputation: 16989

As mentioned, ngIf takes an expression.

<ANY ng-if="expression"> ... <ANY>

See the AngularJS expression docs for more information on what this entails exactly. In your example, you are instead supplying an interpolated value. Try the following...

<div ng-if="ReceiptNumber">
    <h3>Receipt generated with receipt number {{ReceiptNumber}}</h3>
</div>

JSFiddle Link - demo comparing both wrong and correct appreach

Upvotes: 3

Related Questions