2009-10-22 16 views
8

Mam xtemplate ExtJS, który wyrzuca błędy ze względu na sposób zwracania obiektu Json.Pytanie JS xtemplate Ext - sprawdź czy istnieje pole

Czasami obiekt Json ma zdefiniowane pole customer, ale czasami jest zupełnie nieobecny w obiekcie.

Oczywiście pojawia się błąd Klient nie jest zdefiniowany podczas stosowania mojego szablonu do json, w którym brakuje pola.

Moje pytanie brzmi:
Czy istnieje sposób sprawdzenia niezdefiniowanego pola w szablonie xtemplate?

odczuwalna:

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

oczywiście próbowałem tego, ale to nie działa.

Dzięki za pomoc.

Odpowiedz

4

Czy próbowałeś tego?

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

to działało. dzięki :) – 29er

13

O ile się nie mylę, należy po prostu być w stanie zrobić coś jak następuje:

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

Alternatywnie, powinieneś być w stanie osadzić (choć ograniczone, nie wiem, czy mój przykład trójskładnikowych będzie działać zgodnie z oczekiwaniami) Javascript na XTemplates jak:

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

to też zadziałało. dzięki!! – 29er

+2

Dla mnie działa tylko: {[values.customer? values.customer: 'Empty']} w przeciwnym razie pojawia się błąd: [INFO] [Ext.XTemplate # apply] Błąd: klient nie jest zdefiniowany –

+0

To też by działało: '{[values.customer || "Opróżnij"]} ' –