Angularjs Template Default Value if Binding Null / Undefined (With Filter) Angularjs Template Default Value if Binding Null / Undefined (With Filter) javascript javascript

Angularjs Template Default Value if Binding Null / Undefined (With Filter)


Turns out all I needed to do was wrap the left-hand side of the expression in soft brackets:

<span class="gallery-date">{{(gallery.date | date:'mediumDate') || "Various"}}</span>


I made the following filter:

angular.module('app').filter('ifEmpty', function() {    return function(input, defaultValue) {        if (angular.isUndefined(input) || input === null || input === '') {            return defaultValue;        }        return input;    }});

To be used like this:

<span>{{aPrice | currency | ifEmpty:'N/A'}}</span><span>{{aNum | number:3 | ifEmpty:0}}</span>


Just in case you want to try something else. This is what worked for me:

Based on Ternary Operator which has following structure:

condition ? value-if-true : value-if-false

As result:

{{gallery.date?(gallery.date | date:'mediumDate'):"Various" }}