2009-10-22 21 views
8

Tengo una xtemplate ExtJS que arroja errores debido a la forma en que se devuelve un objeto json.Ext JS pregunta xtemplate - compruebe si existe campo

A veces, el objeto json tiene un campo customer definido, pero a veces falta por completo en el objeto.

Obviamente, me sale un error El cliente no está definido al aplicar mi plantilla al json donde falta el campo.

Así que mi pregunta es:
¿Hay alguna forma de que pueda verificar si hay un campo indefinido en una xtemplate?

igual:

<tpl if="customer!=undefined">{customer}</tpl> 

, obviamente, he intentado esto, pero no funciona.

Gracias por cualquier ayuda.

Respuesta

4

¿Has probado esto?

<tpl if="customer == undefined"> 
    <b>{customer}</b> 
</tpl> 
+0

esto funcionó. gracias :) – 29er

13

Si no me equivoco, sólo debe ser capaz de hacer algo como lo siguiente:

<tpl if="customer"> 
    <b>{customer}</b> 
</tpl> 

Alternativamente, usted debe ser capaz de incrustar (aunque limitada, no estoy seguro si mi ejemplo ternaria funcionará como se esperaba) Javascript en XTemplates como lo siguiente:

{[values.customer]} 
{[values.customer ? customer : 'Empty']} 
+0

esto funcionó también. ¡¡Gracias!! – 29er

+2

Para mí solo funciona: {[values.customer? values.customer: 'Empty']} de lo contrario recibo un error: [INFO] [Ext.XTemplate # apply] Error: el cliente no está definido –

+0

Esto también funcionaría: '{[values.customer || 'Vacío']} ' –