2009-10-22 5 views
8

J'ai un xtemplate ExtJS qui lance des erreurs en raison de la façon dont un objet json est retourné.Ext JS xtemplate question - vérifier si le champ existe

Parfois l'objet json a un champ customer défini, mais parfois il est complètement absent de l'objet.

Évidemment, j'obtiens une erreur client n'est pas défini lors de l'application de mon modèle à la JSON où le champ est manquant.

Donc, ma question est:
Existe-t-il un moyen de vérifier un champ non défini dans un xtemplate?

Comme:

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

évidemment, j'ai essayé cela, mais cela ne fonctionne pas.

Merci pour toute aide.

Répondre

4

Avez-vous essayé?

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

cela a fonctionné. merci :) – 29er

13

À moins que je ne me trompe pas, vous devriez juste être en mesure de faire quelque chose comme ce qui suit:

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

Sinon, vous devriez être en mesure d'intégrer (quoique limitée, pas sûr que mon exemple ternaire fonctionnera comme prévu) Javascript dans XTemplates comme si:

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

cela a fonctionné aussi. Merci!! – 29er

+2

Pour moi fonctionne seulement: {[values.customer? values.customer: 'Empty']} sinon, je reçois une erreur: [INFO] [Ext.XTemplate # apply] Erreur: le client n'est pas défini –

+0

Cela fonctionnerait aussi: '{[values.customer || 'Vide']} '' –

Questions connexes