javascript - tablas - Valor predeterminado de la plantilla Angularjs si vincula nulo/indefinido(con filtro)




tablas dinamicas angular 4 (4)

En caso de que quieras probar algo más. Esto es lo que funcionó para mí:

Basado en Operador Ternario que tiene la siguiente estructura:

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

Como resultado:

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

Tengo un enlace de plantilla que muestra un atributo del modelo llamado 'fecha' que es una fecha, usando el filtro de fecha de Angular.

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

Hasta aquí todo bien. Sin embargo, en este momento, si no hay ningún valor en el campo de fecha, el enlace no muestra nada. Sin embargo, me gustaría que muestre la cadena 'Varios' si no hay fecha.

Puedo obtener la lógica básica usando un operador binario:

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

Sin embargo, no puedo hacer que funcione con el filtro de fecha:

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

¿Cómo puedo usar el operador binario junto con el filtro de fecha?


Hice el siguiente filtro:

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

        return input;
    }
});

Para ser usado así:

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

Resulta que todo lo que tenía que hacer era envolver el lado izquierdo de la expresión entre paréntesis suaves:

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

¿Cómo puedo usar el operador binario junto con el filtro de fecha?

<span class="gallery-date">{{gallery.date | date:'mediumDate' || "Date Empty"}}</span>

también intenta:

<span class="gallery-date">{{ gallery.date == 'NULL' ? 'mediumDate' : "gallery.date"}}</span>




default